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

letsencrypt что означает «сертификат получен, но сертификат на сервере отличается от нового сертификата»?

У меня есть настройка letsencrypt на сервере AWS с использованием Apache VirtualHosts, теперь я пытаюсь сделать то же самое на другом экземпляре AWS, который будет обслуживать только один сайт.

я использую https://github.com/srvrco/getssl чтобы попытаться сгенерировать мои ключи SSL.

Сгенерированная конфигурация в первых экземплярах с помощью getssl, который создал файлы в /root/.getssl/domainname, как ожидалось, и конфигурации выглядят так же, как и различия в доменных именах, сгенерированных на моем сервере vHosts.

# getssl -f domain.com
Registering account
Verify each domain
Verifying domain.com
domain.com is already validated
Verifying www.domain.com
www.domain.com is already validated
Verification completed, obtaining certificate.
Certificate saved in /root/.getssl/domain.com/domain.com.crt
The intermediate CA cert is in /root/.getssl/domain.com/chain.crt
copying domain certificate to /etc/ssl/domain.com.crt
copying private key to /etc/ssl/domain.com.key
reloading SSL services
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]
getssl: domain.com - certificate obtained but certificate on server is different from the new certificate

Теперь на моем сервере vhosts я создал файлы .conf для каждого домена, каждый из которых содержит:

<VirtualHost *:443>

и

<VirtualHost *:80>

Нужно ли мне что-то делать, чтобы добавить эквивалентную конфигурацию в мой файл http.conf при настройке одного домена?

Добавление этого в файл http.conf, похоже, отсортировало его:

<VirtualHost *:443>
DocumentRoot /var/www/html
ServerName www.domain.com
SSLEngine on
SSLCertificateFile "/etc/ssl/doman.com.crt"
SSLCertificateKeyFile "/etc/ssl/domain.com.key"
</VirtualHost>

Предполагая, что у вас есть сертификат для каждого виртуального хоста, вам нужно будет добавить следующее (конечно, адаптируя пути) к вашему <VirtualHost>-раздел:

SSLCertificateFile "/path/to/www.example.com.cert" SSLCertificateKeyFile "/path/to/www.example.com.key"

В вашем getssl-config для example.com у вас должны быть строки:

DOMAIN_CERT_LOCATION="/path/to/example.com.crt" DOMAIN_KEY_LOCATION="/path/to/example.com.key"

Источники: getssl-readme и документация apache SSL