Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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
Amazon web services X-Forwarded-Proto未通过带有Palo Alto VM防火墙的AWS ALB三明治_Amazon Web Services_Aws Load Balancer_Web Application Firewall - Fatal编程技术网

Amazon web services X-Forwarded-Proto未通过带有Palo Alto VM防火墙的AWS ALB三明治

Amazon web services X-Forwarded-Proto未通过带有Palo Alto VM防火墙的AWS ALB三明治,amazon-web-services,aws-load-balancer,web-application-firewall,Amazon Web Services,Aws Load Balancer,Web Application Firewall,我们将Palo Alto的VM防火墙与ELB一起使用,无法获得正确的X-Forwarded-Proto以使其返回web服务器。HTTPS终止发生在外部负载平衡器上,然后作为HTTP在堆栈的其余部分运行。使用单个负载平衡器,无论是HTTP还是HTTPS,检索正确的X-Forwarded-Proto头都没有问题。然而,在三明治式拓扑中,不管发生什么情况,我们都将HTTP作为X-Forwarde-Proto 我们需要标头的主要问题是将所有请求重定向到HTTPS,这可能可以在PAN防火墙上完成,但这也被

我们将Palo Alto的VM防火墙与ELB一起使用,无法获得正确的X-Forwarded-Proto以使其返回web服务器。HTTPS终止发生在外部负载平衡器上,然后作为HTTP在堆栈的其余部分运行。使用单个负载平衡器,无论是HTTP还是HTTPS,检索正确的X-Forwarded-Proto头都没有问题。然而,在三明治式拓扑中,不管发生什么情况,我们都将HTTP作为X-Forwarde-Proto


我们需要标头的主要问题是将所有请求重定向到HTTPS,这可能可以在PAN防火墙上完成,但这也被证明是难以捉摸的。

这是预期的行为,最有可能是通过设计-如果ALB通过X-Forwarded-Proto,它可能是伪造的,他们没有内置任何允许异常的功能。。。所以它总是被覆盖

您可以在内部使用网络负载平衡器。因为它们在第4层运行,所以它们不操纵头

或者,如果面向外部的平衡器是ALB,您可以在那里创建一个规则,在平衡器内将所有HTTP请求重定向到HTTPS

通过重定向操作,负载平衡器可以将传入请求从一个URL重定向到另一个URL。这包括将HTTP请求重定向到HTTPS请求的功能,这使您能够满足安全浏览的法规遵从性目标,为您的站点实现更好的搜索排名和更高的SSL/TLS分数


ALB重定向的一个小问题是,您必须显式地将目标端口指定为443,否则,平衡器将保留原始端口并将重定向写入https://example.com:80/ 这当然不起作用。

这可能不是您想要的答案,但如果您在传输层使用基于TCP的网络负载平衡器,而不是在应用层使用HTTP/S侦听器,则此体系结构将起作用


传输负载平衡器在向目标代理请求时根本不考虑协议,整个HTTPS将保持机智。其中,作为应用程序,负载平衡器将解释其策略并通过设计覆盖X-Forwarded-Proto。

在所有方面都有出色的表现。你的反馈迫使我在帕洛阿尔托云形成模板创建的外部ALB中进行更多研究。我已经修改了:80侦听器来处理重定向,看起来很好。我不知道我以前怎么会错过这个选择。非常感谢你!