AWS Elastic Beanstalk HTTPS无法正常工作

use*_*762 0 ssl amazon-ec2 amazon-web-services express amazon-elastic-beanstalk

我可以使用http浏览到该网站,但不能使用https浏览,我在Chrome中得到ERR_CONNECTION_REFUSED。

我的环境是在Elastic Beanstalk上运行的nodejs(64位Amazon Linux 2015.09 v2.0)上的expressJS服务器。我可以在端口80上telnet到EC2弹性公共IP,但在端口443上不能telnet,连接被拒绝。

设置HTTPS采取的步骤

  1. 我通过AWS Certificate Manager创建了一个SSL证书,并将该证书添加到了Load Balancer侦听器。

    端口配置:
    80(HTTP)转发到80(HTTP)粘性:禁用(编辑)

    443(HTTPS,ACM证书:1E21 ...)转发到80(HTTP)粘性:禁用

  2. 在负载均衡器安全组中,我在端口443源0.0.0.0/0上添加了入站和出站https流量。

  3. 在我的EC2 Elastic IP中,我选择了ExpressJS服务器实例,然后在端口443源0.0.0.0/0上添加了入站和出站https流量。

  4. 另外,我还将负载均衡器安全组添加到ExpressJS服务器安全性中,因为我在另一篇文章中读到,您必须将负载均衡器组与服务器实例相关联(不确定是否需要这样做)。

有什么建议么?

顺便说一句,HTTPS流量是否在负载均衡器处终止,然后在服务器的端口80上进行内部加密和内部处理?

use*_*762 5

解决了这个问题,原来我犯的错误是我在我的AWS站点的怪兽DNS上添加了一条记录,并将其指向A记录指向AWS Public Elastic IP,相反,我应该将Load Balancer的CNAME添加到Monster DNS,一旦我这样做,HTTPS就可以正常工作。

我也放弃了公有弹性IP,因为它不再需要了,而且,有了公有IP,我无法利用负载平衡器。希望这对其他人有帮助。