【问题标题】:Cannot setup SSL keys on my apache server in AWS EC2无法在 AWS EC2 中的 apache 服务器上设置 SSL 密钥
【发布时间】:2013-03-17 16:39:39
【问题描述】:

我在 AWS 上有一个 EC2 实例,带有 Apache 服务器。

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

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

【问题讨论】:

    标签: ssl amazon-ec2


    【解决方案1】:

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

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

    而不是在

    /etc/httpd/conf/httpd.conf
    

    (不在 部分内)

    【讨论】:

    • 对我来说也是一样的!你最后做了什么?因为,我的 Apache 2.4.6 没有那个文件配置,如果问题是在 specific 文件中插入 SSL 行,我没有那个文件!
    • 不要错过小的目录差异。 ssl.conf 位于“conf.d”而不是“conf”(httpd.conf 所在的位置)。
    【解决方案2】:

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

    【讨论】:

    • 谢谢,杰米布。正如我所说,我使用我的域名 (CN=www.mydomain.com) 创建了密钥文件,并且不接受默认值。此外,默认绝对不是“ip-10 ...”。碰巧,我在哪台计算机上运行“openssl genrsa ...”命令是否重要?此外,即使我在 httpd.conf 文件中禁用 443 端口,浏览器也会报告 CN 不匹配,所以我怀疑问题是我的服务器忽略了我的密钥文件,即使我参考它们。
    猜你喜欢
    • 2021-05-04
    • 2023-03-28
    • 1970-01-01
    • 2020-09-16
    • 1970-01-01
    • 2021-11-17
    • 2021-04-28
    • 1970-01-01
    • 2020-11-28
    相关资源
    最近更新 更多