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

Apache, Let's Encrypt и виртуальные хосты

Я устанавливаю Letsencrypt сервер на моем собственном сервере для виртуального хоста.

После успешного создания сертификата я получаю сообщение вроде:

Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/example.net/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/example.net/privkey.pem

(Я изменил домен, чтобы защитить домен, ну, вообще-то без причины).

Когда я заглядываю в каталог, я нахожу следующее

ls /etc/letsencrypt/live/example.net
cert.pem@  chain.pem@  fullchain.pem@  privkey.pem@  README

Итак, у меня есть четыре ссылки, указывающие на четыре реальных файла.

В моем .conf файл у меня есть что-то вроде этого (использую версию 1):

<VirtualHost *:443>
    ServerName example.net:443
    ServerAlias *.example.net
    ServerAdmin mark@example.net
    VirtualDocumentRoot /data/httpd/html/example.net/%-3

    SSLEngine on

#   Version 1

    SSLCertificateFile      /etc/letsencrypt/live/example.net/cert.pem
    SSLCertificateKeyFile   /etc/letsencrypt/live/example.net/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/example.net/chain.pem

#   Version 2

#   SSLCertificateFile /etc/letsencrypt/live/example.net/fullchain.pem
#   SSLCertificateKeyFile /etc/letsencrypt/live/example.net/privkey.pem
</VirtualHost>

Я видел другую документацию, использующую версию 2.

Вопрос в следующем: учитывая, что в сообщении упоминаются только два файла, а на самом деле их четыре, какова правильная конфигурация для использования Letsencrypt с виртуальным хостом?

cat cert.pem chain.pem эквивалентно cat fullchain.pem. Другими словами, файл fullchain.pem - это просто комбинация cert.pem и chain.pem. См. Следующие Вопрос суперпользователя для получения дополнительной информации о цепочках сертификатов SSL.

Я не уверен на стороне Apache, но похоже, что версия 1 просто приняла два файла (cert.pem и chain.pem), а затем внутренне объединила их, в то время как версия 2 просто запросила объединенную версию. Я предполагаю, что большинство веб-серверов сейчас просто запрашивают SSLCertificateFile (также известный как «fullchain.pem») и закрытый ключ.