gpt4 book ai didi

java - 如何在 Apache 后面的 Tomcat 中获取真实的 http 请求?

转载 作者:行者123 更新时间:2023-11-28 23:56:52 25 4
gpt4 key购买 nike

我在 http 端口 8080 上运行 Tomcat 网络服务器。在前面,我有一个处理 https ssl 连接的 Apache。

我如何知道客户端是使用 http:// 还是 https:// 发出请求?因为下面总是显示http,因为Apache 内部当然只向Tomcat 发送http:8080 请求。所以这里丢失了最初要求的方案。

HttpServletRequest req;
req.getRequestURL().toString(); // always shows http://....

最佳答案

Apache 应添加以下请求 header ,如 mod_proxy docs 中所述:

  • X-Forwarded-For - 客户端的 IP 地址。

  • X-Forwarded-Host - Host HTTP 请求 header 中客户端请求的原始主机。

  • X-Forwarded-Server - 代理服务器的主机名。

另外X-Forwaded-Proto可以添加原始协议(protocol)as explained in this example :

<VirtualHost *:443>
<strong>RequestHeader set X-Forwarded-Proto "https"</strong>

关于java - 如何在 Apache 后面的 Tomcat 中获取真实的 http 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53176036/

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