acme.sh
— это компактный и мощный инструмент для управления SSL/TLS сертификатами. Он поддерживает несколько центров сертификации (CA), но при попытке поменять CA, отсутствие нужной команды может довести до безумия. Не переживайте, это руководство проведет вас через процесс смены шаг за шагом и добавит немного шуток, чтобы поднять настроение!
Шаг 1: Просмотр поддерживаемых CA
Вы можете ознакомиться с официальной страницей Wiki, где перечислены все поддерживаемые CA.
На данный момент доступны следующие центры сертификации:
Краткое название | URL ACME сервера | Назначение |
---|---|---|
letsencrypt |
https://acme-v02.api.letsencrypt.org/directory |
Основной Let’s Encrypt |
letsencrypt_test |
https://acme-staging-v02.api.letsencrypt.org/directory |
Тестовая среда |
buypass |
https://api.buypass.com/acme/directory |
CA BuyPass.com |
buypass_test |
https://api.test4.buypass.no/acme/directory |
Тест CA BuyPass.com |
zerossl |
https://acme.zerossl.com/v2/DV90 |
CA ZeroSSL |
sslcom |
https://acme.ssl.com/sslcom-dv-rsa или sslcom-dv-ecc |
CA SSL.com |
google |
https://dv.acme-v02.api.pki.goog/directory |
Google Public CA |
googletest |
https://dv.acme-v02.test-api.pki.goog/directory |
Тест CA Google |
Существует множество поддерживаемых CA, но большое количество опций может только запутать – какой из них выбрать? Не переживайте, для обычных случаев будет достаточно использовать letsencrypt
или zerossl
.
Шаг 2: Смена CA
После выбора желаемого CA используйте следующую команду для переключения:
|
|
Пример:
- Если хотите использовать Let’s Encrypt (классический выбор):
1
acme.sh --set-default-ca --server letsencrypt
- Если хотите попробовать ZeroSSL (выбор для экспериментаторов):
1
acme.sh --set-default-ca --server zerossl
Время для комментариев:
- Почему не сделать интерактивный интерфейс, например “Выберите ваш CA”, это выглядело бы более наглядно.
- ZeroSSL требует регистрацию API ключа, и это обязательное требование вызывает сомнения насчет того, действительно ли бесплатные услуги такой безобидный ловкач.
Шаг 3: Подтверждение успешного переключения
После выполнения команды лучше проверить, установлен ли правильный CA:
|
|
Если вы увидите что-то вроде этого:
|
|
или:
|
|
то значит, переключение прошло успешно!
Эта команда просто досконально говорит вам, какой “по умолчанию CA”, и не добавляет никакой дополнительной информации, такой как “Переключение успешно, добро пожаловать в новый CA!”.
Шаг 4: Переиздание сертификата
Чтобы убедиться, что новый CA работает должным образом, вам нужно переиздать сертификат:
|
|
Время для комментариев:
- Каждый раз, когда вы переиздаете, нужно добавлять
--force
, в противном случае система просто “притворится, что не слышит”, тратя ваше время. - Ограничения по квоте и проблемы с API часто вызывают недовольство; например, у Let’s Encrypt имеется недельное ограничение на выдачу 50 сертификатов, что как бы напоминает вам “не тратьте бесплатные ресурсы напрасно”.
Специальный случай: разные домены с разными CA
Если вам нужно использовать определенный CA для некоторых доменов, вы можете указать это непосредственно при выдаче:
|
|
Для пользователей с множеством доменов ручная настройка разных CA — это истинное “исскуство труда”. Будем надеяться, что в будущем появится функция пакетного управления.
Важные моменты (обязательно к прочтению, чтобы избежать проблем)
-
API ключ ZeroSSL
Если вы выбираете ZeroSSL, вам необходимо заранее зарегистрироваться и получить API ключ:1
acme.sh --register-account --server zerossl --accountemail your-email@example.com
Бесплатные сертификаты превращаются в нечто вроде SaaS сервиса, это “усовершенствование” действительно лучше?
-
Проблемы с совместимостью
Если ваш сервер очень старый (например, некоторые системы даже не обновляют корневые сертификаты), он может не поддерживать новые корневые сертификаты CA, такие как ZeroSSL. Если вы столкнулись с ошибками SSL, вероятнее всего, это именно связано с этой проблемой. -
Перезапуск службы
Не забудьте перезагрузить конфигурацию веб-службы, чтобы применить новый сертификат:1 2 3 4 5
# Перезапуск Nginx systemctl reload nginx # Перезапуск Apache systemctl reload apache2
Итог
Хотя процесс смены CA кажется простым, всегда есть небольшие pitfalls, которые могут вызвать недовольство. Однако, освоив вышеперечисленные шаги, вы сможете быстро завершить переключение и не будьте под контролем различных сообщений об ошибках.
В заключение, напомню: не забудьте протестировать новый сертификат на совместимость, не ждите, пока он выведет вас на “удивление” во время развертывания.