HTTPS无法运行(在基于AWS Elastic Beanstalk的站点上)

时间:2014-07-05 18:35:09

标签: ssl amazon-web-services amazon-ec2 amazon-elb

该网站在HTTP上运行得非常好,但是在HTTPS上不起作用。 我已按照此页面上的所有步骤创建自签名证书并将其添加到我的Elastic Beanstalk环境中。 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/configuring-https.html

我还使用以下命令从IAM获得成功的证书响应: aws iam get-server-certificate --server-certificate-name

使用证书更新Elastic Beanstalk后,我还添加了一条规则,允许安全组允许从0.0.0.0/0到端口443的入站流量。 最后,我还验证了我的负载均衡器监听器已正确设置HTTPS。

尽管如此,我对https的调用仍未解决,而http工作正常。 还有其他想法吗?任何帮助将不胜感激。

如果您需要更多信息,请与我们联系。拼命寻找一些见解/帮助。

无论如何,我无法使用我的网站/代码解决此问题,我尝试在Elastic Beanstalk上提供的示例网站上设置HTTPS。有趣的是,即使这样也行不通。

3 个答案:

答案 0 :(得分:39)

我想提供一个我最终能够解决问题的更新。 根本原因是因为我错过了为负载均衡器的安全组设置入站规则。

无论出于何种原因,当我阅读文档时,我理解需要为实例的安全组(而不是负载均衡器)设置入站规则。只有在我开始跟踪Load Balancer之后,才意识到我应该尝试为Load Balancer的安全组设置规则。所以,问题得到了解决。以下是我使用的设置。

HTTPS           443     HTTP        80      <name of the certificate>

我不得不说文档可以更清楚地清楚地标识负载均衡器(而不是实例)的安全组所需的更改。

答案 1 :(得分:3)

亚马逊最近发布了AWS Certificate Manager:

  • 转到https://console.aws.amazon.com/acm/home
  • 添加您的域名并通过电子邮件进行验证
  • 颁发证书后,按照步骤将其部署到Elastic Load Balancers(并轻松设置安全组)

从表现的角度来看,这个事件更好:

  

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

按照文档获取更多信息:

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

答案 2 :(得分:0)

我无法相信这一点...但它显示了 AWS 控制台有多糟糕...我不得不向下滚动并在一个不可见的按钮上单击“应用”,当它在添加后显示“待创建”时我认为它有效...facepalm。