0

我在 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 上出现同样的错误。所以看起来不是我的密钥文件无效,而是服务器根本不使用它们......

我完全糊涂了。请问有人可以帮忙吗?

4

2 回答 2

3

由于某些原因,我访问的寻求答案的页面都没有提到上述几行应该在

/etc/httpd/conf.d/ssl.conf

而不是在

/etc/httpd/conf/httpd.conf

(而不是在 <virtualHost> 部分内)

于 2013-03-17T08:39:39.823 回答
0

您的证书已颁发给与您的 EC2 实例的主机名匹配的通用名称 (CN)。您需要使用正确的主机名创建一个新的 CSR,然后再次完成整个过程。当您生成新的 CSR 时,请务必更改 CN 而不是接受默认值。

于 2013-03-15T14:15:48.363 回答