我在ec2-Classic实例前面有一个负载均衡器。我已经通过直接链接到负载均衡器的Description选项卡中列出的DNS名称值来检查负载均衡器是否正常工作。这为我提供了位于EC2实例上的网页的主页。因此,我的负载均衡器正在工作。我的负载均衡器和我的EC2实例在同一个可用区。
我的负载均衡器设置了一个SSL证书,并且我设置了两个侦听器,将http (端口80)和https (端口443)作为http转发到实例端口80。我的EC2实例将一个安全组设置为在端口80和443上分别接受http和https。虽然我的理解是只有端口80是有用的,对吧?证书的数据为pem格式。我已经在amazon-elb/amazon-elb-sg的端口范围0- 65535上为我的实例安全组添加了一个自定义TCP。这没有任何作用。
我可以使用http访问我的网站。如果我尝试使用https访问,就会得到错误代码: Chrome上的ERR_CONNECTION_REFUSED和火狐上的Unable to Connect。
我已经查看了类似的帖子来回答这个问题,但似乎没有任何帮助。
任何帮助或想法都将不胜感激。谢谢
发布于 2015-02-14 17:11:02
您是否已确保ELB位于允许端口443上的https的安全组中?
发布于 2019-06-21 08:38:46
我在经典和高级负载均衡器上都遇到了类似的问题。对我来说缺少的是,只有当你在DNS中为你的SSL所在的域创建了一个A记录后,https到http转换的东西才能工作,这是你刚刚创建的负载均衡器的别名。一旦我这样做了,通过新的A记录DNS,一切都很好。您的实例不需要接受端口443,并且您的LB绝对不应该通过443转发。
希望它对你来说也是像这样简单的东西。
等等,什么是PEM格式的SSL证书?我使用的是刚刚从下拉列表中获得的Amazon SSL证书。是否确实使用了SSL证书?
发布于 2015-02-14 01:04:15
在您的描述中,我看到您可能没有遵循亚马逊的“Amazon EC2中的弹性负载平衡-使用AWS管理控制台->配置侦听器的经典AWS HTTPS/SSL”指南中的步骤6。
在这里,它说您应该在负载均衡器协议中配置HTTPS (...),在实例协议框中配置HTTPS(安全HTTP) (...)。而在您的配置中,您将ELB的443转发到实例中的端口80。
为了进一步参考,这是我正在讨论的关于DEAD LINKhttp://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/configure-https-listener.htmlDEAD链接的指南
另外,检查您的SSL证书是否根据这里指定的规则构建良好:http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ssl-server-cert.html
https://stackoverflow.com/questions/28492028
复制相似问题