Я использую certbot / letsencrypt из репозитория EPEL с apache на CentOS 7 без каких-либо проблем с "нормальными" доменными именами. Инструмент certbot прекрасно распознает псевдонимы имен серверов из файлов конфигурации виртуального хоста. Продление тоже нормально работает.
Например, строка в конфигурации виртуального хоста, такая как:
ServerName uncovery.net
ServerAlias www.uncovery.net
приводит к тому, что certbot предлагает мне установить / поддерживать доменные имена
1: uncovery.net
2: www.uncovery.net
Однако эта строка в моей конфигурации виртуального хоста:
ServerName uncovery.net
ServerAlias *.uncovery.net
только показывает
1: uncovery.net
при запуске certbot.
Итак, я попробовал следующее:
# certbot -d *.uncovery.net
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org
Obtaining a new certificate
Performing the following challenges:
Client with the currently selected authenticator does not support any combination of challenges that will satisfy the CA. You may need to use an authenticator plugin that can do challenges over DNS.
Я пробовал apache / webroot / автономные аутентификаторы, все терпят неудачу. В журнале отладки указано, что
ConfigurationError: *.uncovery.net contains an invalid character. Valid characters are A-Z, a-z, 0-9, ., and -.
Итак вопросы:
1) Как я могу заставить интерфейс командной строки certbot распознавать * .wildcard?
2) Если это не сработает, как мне вручную настроить сертификат?
Вот моя версия certbot:
Package certbot-1.0.0-1.el7.noarch already installed and latest version
Package python2-certbot-apache-1.0.0-1.el7.noarch already installed and latest version
Это должно работать
certbot-auto certonly --server https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns -d 'uncovery.net,*.uncovery.net'
После этого не забудьте указать fullchain.pem
и privkey.pem
в настройках ssl конфигурации apache. обычно те, которые расположены в /etc/letsencrypt/live/uncovery.net/fullchain.pem
/etc/letsencrypt/live/uncovery.net/privkey.pem
если вы не измените их, вы все равно увидите самозаверяющий сертификат, который является самоподписанным ssl-сертификатом apache по умолчанию.