Letsencrypt добавить домен в существующий сертификат
Я просто пытаюсь добавить домен test.example.com
к сертификату, который уже существует для example.com
. Как добавить домен в существующий сертификат и заменить старый сертификат?
Я пробовал эти несколько команд
./letsencrypt-auto certonly --cert-path /etc/letsencrypt/archive/example.com --expand -d test.example.com
./letsencrypt-auto certonly -d example.com --expand -d test.example.com
Результат: оба создали новый сертификат в новой папке test.example.com-0001
./letsencrypt-auto certonly --renew-by-default --expand -d test.example.com
Результат: папка error.example.com уже существует.
./letsencrypt-auto renew --expand -d orange.fidka.com
Результат: ошибка, я могу возобновить только если срок действия моего сертификата истек.
Ответы
Ответ 1
Вам нужно указать все имена, в том числе уже зарегистрированные.
Я использовал следующую команду для регистрации некоторых сертификатов:
/opt/certbot/certbot-auto certonly --webroot --agree-tos -w /srv/www/letsencrypt/ \
--email [email protected] \
--expand -d example.com,www.example.com
... и теперь я успешно использовал следующую команду, чтобы расширить мою регистрацию, чтобы включить новый поддомен в качестве SAN:
/opt/certbot/certbot-auto certonly --webroot --agree-tos -w /srv/www/letsencrypt/ \
--expand -d example.com,www.example.com,click.example.com
Из документации:
- expand "Если существующий сертификат охватывает некоторое подмножество запрошенных имен, всегда расширяйте и заменяйте его дополнительными именами."
Не забудьте перезагрузить сервер для загрузки новых сертификатов, если вы используете nginx.
Ответ 2
Вот как я зарегистрировал свой домен:
sudo letsencrypt --apache -d mydomain.com
Затем можно было использовать ту же команду с дополнительными доменами и следовать инструкциям:
sudo letsencrypt --apache -d mydomain.com,x.mydomain.com,y.mydomain.com
Ответ 3
Apache в Ubuntu, используя плагин Apache:
sudo certbot certonly --cert-name example.com -d m.example.com,www.m.example.com
Приведенная выше команда наглядно объяснена в руководстве пользователя Certbot по изменению доменных имен сертификатов. Обратите внимание, что команда для изменения доменных имен сертификатов применима и к добавлению новых доменных имен.
редактировать
Если при выполнении вышеуказанной команды выдается сообщение об ошибке
Клиент с выбранным в настоящее время средством проверки подлинности не поддерживает ни одну комбинацию задач, которые удовлетворят CA.
следуйте этим инструкциям сообщества Let Encrypt
Ответ 4
Вы можете заменить сертификат, снова запустив certbot с помощью ./certbot-auto certonly
Вам будет предложено ввести это сообщение, если вы попытаетесь создать сертификат для домена, который уже был охвачен существующим сертификатом:
-------------------------------------------------------------------------------
You have an existing certificate that contains a portion of the domains you
requested (ref: /etc/letsencrypt/renewal/<domain>.conf)
It contains these names: <domain>
You requested these names for the new certificate: <domain>,
<the domain you want to add to the cert>.
Do you want to expand and replace this existing certificate with the new
certificate?
-------------------------------------------------------------------------------
Просто выберите Expand
и замените его.
Ответ 5
это сработало для меня
sudo letsencrypt certonly -a webroot --webroot-path=/var/www/html -d
domain.com -d www.domain.com
Ответ 6
Мне удалось настроить SSL, сертифицированный для домена и нескольких поддоменов, используя --cert-name
сочетании с параметрами --expand
.
См. Официальную документацию по certbot-auto по адресу https://certbot.eff.org/docs/using.html.
Пример:
certbot-auto certonly --cert-name mydomain.com.br \
--renew-by-default -a webroot -n --expand \
--webroot-path=/usr/share/nginx/html \
-d mydomain.com.br \
-d www.mydomain.com.br \
-d aaa1.com.br \
-d aaa2.com.br \
-d aaa3.com.br