Letsencrypt добавляет домен к существующему сертификату [закрыто]

123

Я просто пытаюсь добавить домен 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

Результат: папка с ошибкой test.example.com уже существует.

./letsencrypt-auto renew --expand -d orange.fidka.com

Результат: ошибка, я могу продлить, только если срок действия моего сертификата истек.

Джефф Давенпорт
источник
1
Этот вопрос был повторно открыт для суперпользователя
Майк Годин
1
Всем, кто сейчас просматривает этот вопрос: я бы порекомендовал взглянуть на ответ о суперпользователе . Он использует то, certbot --expandчто ближе к тому, что задает этот вопрос имо
Джесси Реза Хорасани

Ответы:

134

Вам необходимо указать все имена, в том числе уже зарегистрированные.

Первоначально я использовал следующую команду для регистрации некоторых сертификатов:

/opt/certbot/certbot-auto certonly --webroot --agree-tos -w /srv/www/letsencrypt/ \
--email me@example.com \
--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
Команда немного изменилась наcertbot-auto certonly -a webroot ...
tsusanka
1
это работает для отдельного плагина?
hjl
Когда я использую приведенное выше, он создает новый сертификат сам по себе с символом -001в конце.
KhoPhi
Запустил его на производстве, расширение, похоже, не требует видимого простоя. Я использовал certbot-auto
Рэй Фосс
@ simon-hampel При расширении SSL-сертификата продлевается ли срок его действия для всех доменов, определенных в списке.
Эрсин Демиртас
35

Вот как я зарегистрировал свой домен:

sudo letsencrypt --apache -d mydomain.com

Тогда можно было использовать ту же команду с дополнительными доменами и следовать инструкциям:

sudo letsencrypt --apache -d mydomain.com,x.mydomain.com,y.mydomain.com
embe
источник
3
я просто заменил letsencryptна, ./certbot-autoи он работает! Команда ./certbot-auto --nginx -d domain1.com,domain2.comспрашивает, хочу ли я расширить существующий сертификат, и выполняет свою работу.
Джордж
1
Спасибо. Это экономит мое время. Я бегу./letsencrypt-auto --debug -d new-domain.com -d new-alias.com
Нгуен Ван Винь
30

Apache в Ubuntu , используя плагин Apache:

sudo certbot certonly --cert-name example.com -d m.example.com,www.m.example.com

Вышеупомянутая команда подробно описана в руководстве пользователя Certbot по изменению доменных имен сертификата. . Обратите внимание, что команда для изменения доменных имен сертификата применима также к добавлению новых доменных имен.

редактировать

Если выполнение вышеуказанной команды дает вам сообщение об ошибке

Клиент с текущим выбранным аутентификатором не поддерживает комбинацию задач, которая удовлетворит CA.

следуйте этим инструкциям сообщества Let's Encrypt

че-azeh
источник
2
Вероятно, это упоминается в документации, но если вы просто добавляете существующий домен, вам нужно снова добавить существующий домен - или он будет удален,
Роб
5

Вы можете заменить сертификат, просто снова запустив 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и заменил.

Ahmad
источник
5

Мне удалось настроить 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
newx
источник
4

это сработало для меня

 sudo letsencrypt certonly -a webroot --webroot-path=/var/www/html -d
 domain.com -d www.domain.com
я ничего не знаю
источник