gpt4 book ai didi

apache - 如何在 mod_proxy_ajp 的 apache HTTP 服务器中覆盖方案和 is_ssl

转载 作者:行者123 更新时间:2023-11-28 22:01:57 25 4
gpt4 key购买 nike

我们在负载平衡器(也用作 SSL 终结器)和 Apache HTTP Server 2.4 后面运行 Tomcat 7。 Apache 通过 mod_proxy_ajp 连接到 Tomcat .

对于应用程序,重要的是 Tomcat 知道请求是通过 HTTPS 传入的,因此是安全的。例如this article建议,通常使用属性 secure="true" 在 Tomcat 的连接器上配置它可能还有 scheme="https"proxyPort="443"。虽然这可行,但它并不方便,因为我们也出于某些目的使用 HTTP,因此我们需要为此目的设置两个 Tomcat 连接器。它有一种味道,因为通过这种方式,我们基本上告诉 Tomcat 覆盖它从 Apache HTTP 服务器获得的错误信息,即请求是 HTTPS 而不是 HTTP,而不是告诉 Apache 它应该发送关于协议(protocol)的正确信息和安全状态。

所以我的问题是:是否有可能以某种方式配置 Apache HTTP 服务器本身,使其通过 AJP 协议(protocol)传递正确的信息:通过 HTTPS 接收请求并且是安全的?问题是它不知道它是 HTTPS,因为在它之前有一个 SSL 终止符并且请求通过 HTTP 到达,就它而言。我能以某种方式告诉 Apache 它实际上是 HTTPS 吗?

最佳答案

部分解决方案似乎是 to set the protocol on a ServerName directive在 Apache HTTP 服务器的虚拟主机中:

ServerName https://whatever

这样任何位置:重定向中的 header 似乎在 Apache 中被重写为 https,但 Tomcat 仍然通过 AJP 传递了错误的信息。

关于apache - 如何在 mod_proxy_ajp 的 apache HTTP 服务器中覆盖方案和 is_ssl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34633966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com