Apache、LetsEncrypt 和虚拟主机

Apache、LetsEncrypt 和虚拟主机

我正在安装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 [email protected]
    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使用虚拟主机吗?

答案1

cat cert.pem chain.pem相当于cat fullchain.pem。换句话说,fullchain.pem 文件只是 cert.pem 和 chain.pem 的组合。参见以下内容超级用户问题有关 SSL 证书链的更多信息。

我不确定 Apache 端是否如此,但似乎版本 1 只是接收了两个文件(cert.pem 和 chain.pem),然后在内部将它们连接起来,而版本 2 只要求连接后的版本。我认为现在大多数 Web 服务器只要求 SSLCertificateFile(又名“fullchain.pem”)和私钥。

相关内容