2017-03-16 65 views
-1

我有一个运行在AWS EC2实例上的php web应用程序与ubuntu。它的域名来自1 & 1,并指向AWS EC2公共IP。 我对这个域名有1 & 1的SSL证书。从1&1到AWS EC2实例不起作用的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文件,但由于我使用的SSL证书1 & 1我没有钥匙或任何东西。

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

+0

1&1应为您提供从您购买的SSL证书的证书文件(公钥,私钥和证书链)。您需要在Web服务器上安装这些文件,并将您的服务器配置为在端口443上提供HTTPS。如果您不知道如何从1&1下载SSL证书文件,建议您联系1和1支持。 –

回答

0

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

这是不可能做到这一点,而不/ SSL /证书确实的文件。

不幸的是,1 & 1的最终包装提供了1个SSL证书只对托管在1 & 1.我打电话给他们的网站做,他们不希望给我的证书文件,因为我的网页是在AWS举办。

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

0

您必须已经从您的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中获取信息。希望这有助于

+0

谢谢你的有趣答复 – FabulousCo