Подстановочный знак Certbot DNS/apache не работает для двойного поддомена?
Я успешно настроил SSL-сертификат через certbot с DNS-плагином. Это прекрасно работает, и я выпустил сертификат для example.com и *.example.com:
certbot certificates
выход:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
Certificate Name: example.com
Domains: example.com *.example.com
Expiry Date: 2022-02-28 11:09:56+00:00 (VALID: 89 days)
Certificate Path: /etc/letsencrypt/live/example.com/fullchain.pem
Private Key Path: /etc/letsencrypt/live/example.com/privkey.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Пока все хорошо, все домены, кажется, защищены правильно:
example.com = OK
test.example.com = OK
Однако проблема начинается с домена
test1.test.example.com
. Браузер продолжает жаловаться на то, что домен не защищен..! Я уже переоформил SSL-сертификат. Это удается, но домен по-прежнему помечен как небезопасный.
Важно отметить, что если я изменю
Apache
config для домена, чтобы не перенаправлять
http (insecure)
трафик на
https (secure)
трафика, я могу получить доступ к сайту. Это подтверждает мою настройку apache, которая на самом деле представляет собой только 1 файл конфигурации, позволяющий:
ServerName example.com
ServerAlias *.example.com
РЕДАКТИРОВАТЬ: Возможно, это поможет. Safari сообщает мне, что имя сертификата
example.com
не соответствует вводу? Firefox возвращается
SSL_ERROR_BAD_CERT_DOMAIN
. Итак, я попытался обновить домен, чтобы также разрешить
*.*.example.com
, но это не разрешено certbot, поскольку он возвращает:
Cannot issue for '*.*.example.com': Domain name has more than one wildcard
РЕДАКТИРОВАТЬ 2: DNS-плагин сгенерировал json-файл, содержащий информацию об аутентификации для проверки доменов. Этот файл содержит запись
fulldomain
а также
subdomain
, но проблема с
two level 'sub-sub' domain
? Возможно, дело в этом? Как я могу это исправить, так как плагин certbot не разрешает домены с несколькими подстановочными знаками?
1 ответ
Я понял, что нельзя использовать подстановочный знак перед первой точкой в доменном имени (по крайней мере, не с DNS-плагином, который я использую).
Поэтому я успешно заработал, добавив домен, например: -d *.test.example.com
После выдачи и перезаписи старого сертификата новым все заработало, как и ожидалось.
example.com = OK
test.example.com = OK
test1.test.example.com = OK