繁体   English   中英

从1&1到AWS EC2实例的SSL证书不起作用

[英]SSL Certificate from 1&1 to an AWS EC2 instance not working

我有一个使用ubuntu在AWS EC2实例上运行的php Web应用程序。 但是,它的域名来自1&1,并且指向AWS EC2公共IP。 我在同一域名上有来自1&1的SSL证书。

在浏览器中使用http运行网页时,一切正常。 但是,一旦我使用https运行它,就会有恒定的负载并且页面永远不会呈现。

我想这个问题是由我的apache配置引起的,但是我不知道需要更改什么才能使https工作正常。

这是我的mydomain.com.conf:

<VirtualHost *:80>
        ServerName www.mydomain.com
        ServerAlias mydomain.com
        DocumentRoot "/var/www/html/mydomain/"

        ErrorLog ${APACHE_LOG_DIR}/error_mydomain.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

通过在互联网上查看,我发现必须将ssl密钥添加到conf文件中,但是由于我使用的是1&1的ssl证书,因此我没有任何密钥。

有谁知道更多吗? 谢谢

好的,所以我知道不会遇到同样的问题的人很多,但是我们永远不知道...

确实没有/ ssl / cert文件是不可能做到这一点的。

不幸的是,1&1在最终包装中提供的1 SSL证书仅适用于1&1托管的网站。 我打电话给他们,他们不想给我证书文件,因为我的网页托管在AWS上。

因此,没有其他选择可以获取其他SSL证书。 我可能会为此使用letencrypt。

您必须已经从CA供应商处获得了证书和证书捆绑包,并且我希望您在为捆绑包创建CSR时保持私钥不变,您的虚拟主机应如下所示:

    <VirtualHost *:80>
    ServerName <mywebsite>
    ServerAlias www.<mywebsite>
        DocumentRoot /var/www/html/<mywebsitedocroot>
    DirectoryIndex index.php index.html

        <Directory /var/www/html/<mywebsitedocroot>>
                #Options Indexes FollowSymLinks MultiViews
        Options -Indexes
                AllowOverride All
                Order allow,deny
                Allow from all
        </Directory>
</VirtualHost>

<VirtualHost *:443>
    DocumentRoot /var/www/html/<mywebsitedocroot>
    DirectoryIndex index.php index.html
    ServerName <mywebsite>
    ServerAlias www.<mywebsite>
    SSLEngine On
    #SSLCertificateFile /etc/ssl/certs/<mycert>.crt
    #SSLCertificateKeyFile /etc/ssl/certs/<mycert>.key
    SSLCertificateFile /etc/ssl/certs/<mycert>_com.crt
    SSLCertificateKeyFile /etc/ssl/certs/<mycert>_com.key
    SSLCertificateChainFile /etc/ssl/certs/<mycert>_com.ca-bundle
    <Directory /var/www/html/<mywebsitedocroot>>
        #Options Indexes FollowSymLinks MultiViews
                Options -Indexes
        AllowOverride All
                Order allow,deny
                Allow from all
                Require all granted
        </Directory>
</VirtualHost> 

必须理解的是,HTTPS侦听端口443,而不是80(用于HTTP),最重要的部分(考虑您的情况)是:

SSLCertificateFile /etc/ssl/certs/<mycert>_com.crt
SSLCertificateKeyFile /etc/ssl/certs/<mycert>_com.key
SSLCertificateChainFile /etc/ssl/certs/<mycert>_com.ca-bundle

您可以忽略我设置的所有选项,也可以根据需要进行设置。 我只是从我的网站conf中获取信息。 希望这可以帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM