20

我很难在我的 EC2 微型实例上设置 SSL 证书(它是从 NameCheap 购买的 Comodo PositiveSSL)(我使用的是基于 CentOS 的 Amazon Linux AMI 2012.3,如果我没记错的话)。

这是我所做的:

  1. 我安装了 mod_ssl 和 OpenSSL

  2. 我在 EC2 的实例安全组上启用了端口 443

  3. 我按照 Comodo 的建议将 *.key 和 *.crt 文件改成 777

  4. 我确定 IP 地址和文件路径是正确的(在示例中放了一堆 0,但在我的 ssl.conf 中是正确的)

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


<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 ...但我仍然无法访问 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!.

我什至将 VistualHost 复制到 httpd.conf 而不是 ssl.conf 并重新启动 apache,但都是徒劳的。

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

如果有人能提出一些建议来完成这项工作,我将不胜感激!

4

3 回答 3

23

有时这部分

<VirtualHost _default_:443>

防止您使用真正的 SSL 证书。如果是这种情况,请注释VirtualHost default或将 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。

于 2012-04-12T01:15:48.477 回答
3

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

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

由于 ELB 支持 SSL 卸载,将证书部署到负载均衡器(而不是部署到其后面的 EC2 实例)将减少实例需要处理的加密和解密工作量。

来自文档:

新的 AWS Certificate Manager (ACM) 旨在简化和自动化许多传统上与 SSL/TLS 证书管理相关的任务。ACM 负责处理数字证书的配置、部署和更新的复杂性!ACM 提供的证书由 Amazon 的证书颁发机构 (CA)、Amazon Trust Services (ATS) 进行验证。

更好的是,您可以免费完成所有这些工作。通过 AWS Certificate Manager 预置的 SSL/TLS 证书是免费的!

ACM 将允许您在几分钟内开始使用 SSL。请求证书后,您只需单击几下即可将其部署到弹性负载均衡器和 Amazon CloudFront 分配。之后,ACM 可以处理定期续订,而无需您采取任何行动。

文档:

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

于 2016-01-25T13:41:19.133 回答
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

于 2017-12-07T11:12:33.770 回答