letsencrypt“证书已获取但服务器上的证书与新证书不同”是什么意思?

letsencrypt“证书已获取但服务器上的证书与新证书不同”是什么意思?

我已经使用 Apache VirtualHosts 在 AWS 服务器上设置了 letsencrypt,现在我正尝试在另一个仅为一个站点提供服务的 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 文件中?

答案1

假设每个虚拟主机都有一个证书,则必须将以下内容(当然,调整路径)添加到您的<VirtualHost>部分:

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

在 example.com 的 getssl-config 中,必须有以下行:

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

资料来源:getssl-自述文件apache SSL 文档

答案2

将其添加到 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>

相关内容