无法在AWS EC2中的apache服务器上设置SSL密钥

无法在AWS EC2中的apache服务器上设置SSL密钥,ssl,amazon-ec2,Ssl,Amazon Ec2,我在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/w

我在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>

服务器名www.mydomain.com
DocumentRoot“/var/www/html”
斯伦金安
SSLCertificateFile/etc/pki/tls/private/server.crt
SSLCertificateKeyFile/etc/pki/tls/private/server.key
SSLCertificateChainFile/etc/pki/tls/private/server.ca-bundle
并重新启动http服务器

但是当尝试通过访问我的站点时,会出现一个证书错误警告(但是如果我继续通过该警告,该站点会显示良好)

我向ssltool.com查询,得到: 测试的网站www.mydomain.com与主题CN ip-10-203-65-225不一样! 不用说,密钥文件是用我的域名(CN=www.mydomain.com)创建的,而不是包含ip的名称。 当我在unixshell中输入“hostname”时,我确实得到了“ip-10-203-65-225”,这是Amazon自动提供的。但即使我更改它(在/etc/sysconfig/network中),它仍然被视为ip-10-203-65-225

另一方面,在不安装密钥的情况下也会看到同样的问题:即使我从httpd.conf中删除了这些行并删除了密钥文件,浏览器也会警告证书错误,就好像存在自签名证书一样,并且在ssltool.com上也会出现同样的错误。因此,似乎不是我的密钥文件无效,而是服务器根本不使用它们


我完全糊涂了。有人能帮忙吗?

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

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

由于某些原因,我访问的页面中没有一个提到上述行应该包含的答案

/etc/httpd/conf.d/ssl.conf
而不是在

/etc/httpd/conf/httpd.conf

(而不是在一个部分内)

由于某些原因,我访问的页面中没有一个提到上面几行应该在

/etc/httpd/conf.d/ssl.conf
而不是在

/etc/httpd/conf/httpd.conf

(而不是在一节中)

谢谢,杰米。正如我所说,我用我的域名(CN=www.mydomain.com)创建了密钥文件,但不接受默认值。而且,默认值肯定不是“ip-10…”。我在哪台计算机上运行“openssl genrsa…”命令,这有关系吗?此外,即使我在httpd.conf文件中禁用443端口,浏览器也会报告CN不匹配,因此我怀疑问题在于,即使我引用了我的密钥文件,服务器也会忽略它们。谢谢,jamieb。正如我所说,我用我的域名(CN=www.mydomain.com)创建了密钥文件,但不接受默认值。而且,默认值肯定不是“ip-10…”。我在哪台计算机上运行“openssl genrsa…”命令,这有关系吗?此外,即使我在httpd.conf文件中禁用443端口,浏览器也会报告CN不匹配,因此我怀疑问题在于,即使我引用了密钥文件,服务器也会忽略它们。对我来说,情况也是如此!你最后做了什么?因为,我的Apache 2.4.6没有该文件配置,如果问题是在特定文件中插入SSL行,我没有该文件!不要错过目录的细微差别。ssl.conf在“conf.d”中,而不是在“conf”(httpd.conf所在的位置)中!你最后做了什么?因为,我的Apache 2.4.6没有该文件配置,如果问题是在特定文件中插入SSL行,我没有该文件!不要错过目录的细微差别。ssl.conf位于“conf.d”而不是“conf”(httpd.conf所在的位置)。