在EC2实例上设置SSL证书

时间:2012-04-11 23:20:14

标签: linux ssl amazon-ec2 amazon-web-services ssl-certificate

我很难在我的EC2微实例上尝试设置SSL证书(这是从NameCheap追讨的Comodo PositiveSSL)(我使用的是基于CentOS的Amazon Linux AMI 2012.3,如果我没弄错的话)。

这就是我的所作所为:

  1. 我安装了mod_ssl& OpenSSL的

  2. 我在EC2的实例安全组

  3. 上启用了端口443
  4. I CHMODed * .key& * .crt文件为Comodo建议的777

  5. 我确定IP地址&文件路径是正确的(放一堆 示例中为0,但在我的ssl.conf中 正确无误)

  6. 我将此VirtualHost条目添加到ssl.conf


  7. <VirtualHost 00.000.000.00:443>
       ############# I tried both with & without this section ##############
       ServerName www.mydomain.com:443
    
       ServerAlias www.mydomain.com
       DocumentRoot /var/www
       ServerAdmin webmaster@mydomain.com
       ######################################################################
    
       SSLEngine on
       SSLCertificateKeyFile /etc/ssl/mydomain_com.key
       SSLCertificateFile /etc/ssl/mydomain_com.crt
       SSLCertificateChainFile /etc/ssl/mydomain_com.ca-bundle
    </VirtualHost>
    

    然后我重新启动了apache ...但我 stil无法访问 https://www.mydomain.com/ !!!

    我查看了ssltool.com,它说

    The Common Name on the certificate is: ip-00-00-00-000
    
    The certificate chain consists of:
    SomeOrganization, ip-00-00-00-000. Expires on: Apr 10 13:39:41 2013 GMT - that's 363 days from today.
    The site tested mydomain.com is NOT the same as the Subject CN ip-00-00-00-000!.
    

    我甚至去了&amp;将VistualHost复制到httpd.conf而不是ssl.conf&amp;重启阿帕奇,都是徒劳。

    我几天来一直在撞墙。我很确定我错过了一些可以完成这项工作的小东西,我只是不知道到底是什么。

    如果有人可以提出一些建议,我会感激不尽!

3 个答案:

答案 0 :(得分:22)

有时这部分

<VirtualHost _default_:443>

阻止使用您的真实SSL证书。如果是这种情况,请注释 VirtualHost 默认 或将SSLCertificate *属性移动到它,即。

<VirtualHost _default_:443>
  SSLCertificateKeyFile /etc/ssl/mydomain_com.key
  SSLCertificateFile /etc/ssl/mydomain_com.crt
  SSLCertificateChainFile /etc/ssl/mydomain_com.ca-bundle
</VirtualHost>

确保在此之后重启apache。

答案 1 :(得分:3)

亚马逊现在提供证书管理员! (免费)

如果您使用Elastic Beanstalk,这是新的方法: 它是免费的,您可以避免由于配置而导致的错误,并且它是vue性能点的更好选择:

  

因为ELB支持SSL卸载,所以将证书部署到负载   平衡器(而不是它背后的EC2实例)将减少   实例需要的加密和解密工作量   处理

来自doc:

  

新的AWS证书管理器(ACM)旨在简化和   自动执行传统上与管理相关的许多任务   SSL / TLS证书。 ACM负责处理周围的复杂性   数字证书的配置,部署和更新!   ACM提供的证书由亚马逊证书验证   权威(CA),亚马逊信托服务(ATS)。

     

更好的是,您无需额外费用即可完成所有这些工作。 SSL / TLS   通过AWS Certificate Manager提供的证书是免费的!

     

ACM将允许您在几分钟内开始使用SSL。后   您的请求是证书,您可以将其部署到您的Elastic Load   平衡器和您的Amazon CloudFront发行版有几个   点击。之后,ACM可以在没有的情况下处理定期更新   你的任何行动。

doc:

https://aws.amazon.com/fr/blogs/aws/new-aws-certificate-manager-deploy-ssltls-based-apps-on-aws/

答案 2 :(得分:0)

查看列表,您忘记使用虚拟主机启用配置。

sudo a2enmod ssl
sudo a2ensite default-ssl
sudo /etc/init.d/apache2 restart

有关如何在您的EC2上安装SSL证书的完整指南https://medium.com/@adnanxteam/how-to-add-ssl-certificate-to-laravel-on-ec2-aws-18104cc036d1