首页 文章

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

提问于
浏览
-1

我有一个使用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>

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

有谁知道更多关于它的人?谢谢

2 回答

  • 0

    您必须已从CA供应商处获得证书和证书捆绑包,并且我希望您在为捆绑包创建CSR时保持私钥完整,您的vhost应如下所示:

    <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中获取了信息 . 希望这可以帮助

  • 0

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

    没有/ ssl / cert文件确实不可能这样做 .

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

    因此,没有其他选择获得其他SSL证书 . 我可能会使用letsencrypt .

相关问题