Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 在AWS的我的EC2实例上设置负载平衡器_Security_Amazon Web Services_Ssl_Amazon Ec2_Elastic Load Balancer - Fatal编程技术网

Security 在AWS的我的EC2实例上设置负载平衡器

Security 在AWS的我的EC2实例上设置负载平衡器,security,amazon-web-services,ssl,amazon-ec2,elastic-load-balancer,Security,Amazon Web Services,Ssl,Amazon Ec2,Elastic Load Balancer,我为我的实例设置了负载平衡器。 我的实例位于自动缩放组中 我的负载平衡器具有来自AWS的具有SSL证书的HTTPS侦听器。 对于负载平衡器的安全组,入站规则设置为https(端口443),出站规则设置为https(端口443)和EC2实例的安全组 然后EC2实例将https入站规则设置为负载平衡器的安全组,并且出站规则对所有人开放。 此方案不起作用,我无法加载我的网站 然后,我将http inbound和0.0.0.0/0添加到EC2实例的安全组中,我可以加载我的网站 为什么我不能将负载平衡器的

我为我的实例设置了负载平衡器。 我的实例位于自动缩放组中

我的负载平衡器具有来自AWS的具有SSL证书的HTTPS侦听器。 对于负载平衡器的安全组,入站规则设置为https(端口443),出站规则设置为https(端口443)和EC2实例的安全组

然后EC2实例将https入站规则设置为负载平衡器的安全组,并且出站规则对所有人开放。 此方案不起作用,我无法加载我的网站

然后,我将http inbound和0.0.0.0/0添加到EC2实例的安全组中,我可以加载我的网站

为什么我不能将负载平衡器的出站补丁设置为ec2的安全组,将ec2的入站补丁设置为负载平衡器的安全组

我有我的域名的SSL证书。但是我不能用https加载我的网站。使用http很好。为什么?

快速健康检查:

  • 只需通过web浏览器使用HTTPS访问ELB端点(而不是路由53地址;原始ELB DNS端点),即可检查HTTPS是否正常工作

  • 如果应用程序不管理SSL,则ELB不应将HTTPS通信转发到EC2实例。让ELB终止HTTPS并将其作为HTTP转发

检查实例端口是否正确 ELBs的一个常见模式是允许ELB为您管理HTTPS;HTTPS在负载平衡器处终止,负载平衡器将流量作为HTTP转发到EC2实例。除非您的应用程序专门管理SSL,否则这就是您想要的,您需要配置EC2层以接受HTTP流量

此HTTPS终止在ELB负载平衡器侦听器中进行管理,方法是在负载平衡器协议/端口上接受HTTPS,在实例协议/端口上接受HTTP。例如:

听起来您的ELB正试图将流量作为HTTPS转发到您的应用程序,并且在HTTPS端口上,而您的应用程序被配置为接受HTTP。只需编辑此“实例端口”即可接受应用程序预期HTTP流量所在端口上的流量。示例:端口80

您还可以将EC2实例的安全组上的HTTP入站流量限制为仅允许来自ELB的安全组,而不是0.0.0.0/0

将53号公路记录与ELB关联 要将route 53记录与ELB关联,只需创建一个别名为负载平衡器的IPv4记录。负载平衡器应显示为alias下拉菜单中的一个资源

进一步阅读

两个问题:您使用的是ELB还是ALB?在这两种情况下,您都需要在负载平衡器处终止HTTPS,或者换句话说,443上的流量到达您的负载平衡器,然后作为HTTP 80或应用程序侦听的任何端口继续传输到您的实例。您能检查一下负载平衡器/目标组配置中的“实例端口”是否不是443吗?@AnthonyNeace谢谢。我用ELB。“实例端口”是什么意思?我在负载平衡器的端口配置上有这个。443(HTTPS,ACM证书:-------------------------------)转发至443(HTTPS)是,即443。我想我需要在53路换车。现在是路由53的记录集链接到EC2的ip地址。应该链接到负载平衡器的ip地址。但是找不到负载平衡器的ip地址。@batuman我已经添加了一些额外的提示和链接,您可以跟进。在路由53中,您可以使用别名而不是原始IPv4值将ELB与记录关联。是。现在我开始了。路由53记录集为负载平衡器的DNS名称。然后,负载平衡器的侦听器被设置为带有SSL证书的HTTPS。然后,负载平衡器安全组的入站规则设置为源为0.0.0.0/0的HTTPS,出站规则设置为EC2实例安全组的HTTPS。EC2实例安全组的入站规则设置为具有HTTPS的负载平衡器安全组。现在name和https://域名都不加载我的站点。@batuman从您之前的评论(应用程序在0.0.0.0/0上接受HTTP入站规则的流量),您的应用程序接受HTTP流量,而不是https。你同意/不同意这一点吗?我想我们这里的沟通有问题。您的负载平衡器将为您处理HTTPS;我认为您试图设置HTTPS到您的EC2实例,这是在以自己的方式进行。请通读“检查您的实例端口是否正确”部分并尝试这些建议。现在,我删除了EC2实例安全组中的HTTP入站规则,并且只接受负载平衡器安全组中的HTTPS。这意味着我应该可以使用这个名字。现在它不加载我的页面。