我在 AWS 上有一个带有 Apache 服务器的 EC2 实例。
我从 Comodo 购买了 SSL 证书并在 /etc/pki/tls/private/ 中安装了以下文件: server.ca-bundle server.crt server.key
我还在 /etc/httpd/conf/httpd.conf 中添加了以下几行:
<VirtualHost www.mydomain.com:443>
ServerName www.mydomain.com
DocumentRoot "/var/www/html"
SSLENGINE on
SSLCertificateFile /etc/pki/tls/private/server.crt
SSLCertificateKeyFile /etc/pki/tls/private/server.key
SSLCertificateChainFile /etc/pki/tls/private/server.ca-bundle
</VirtualHost>
并重新启动http服务器。
但是当尝试通过https://www.mydomain.com访问我的网站时,会出现证书错误警告(但如果我继续通过警告,则该网站显示良好)。
我检查了 ssltool.com 并得到: 测试的站点 www.mydomain.com 与主题 CN ip-10-203-65-225 不同!不用说,密钥文件是用我的域名 (CN=www.mydomain.com) 而不是包含 ip 的名称创建的。当我在 unix shell 中输入“主机名”时,我确实得到了“ip-10-203-65-225”,这是亚马逊自动提供的。但即使我更改它(在 /etc/sysconfig/network 中),它仍然被视为 ip-10-203-65-225。
另一方面,在不安装密钥的情况下查看相同的问题:即使我从 httpd.conf 中删除了这些行,并删除了密钥文件,浏览器也会警告证书错误,就好像存在自签名证书一样,并且在 ssltool.com 上出现同样的错误。所以看起来不是我的密钥文件无效,而是服务器根本不使用它们......
我完全糊涂了。请问有人可以帮忙吗?