Назад | Перейти на главную страницу

Как установить подстановочные сертификаты letsencrypt?

Я использую 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 по умолчанию.