小编alp*_*alp的帖子

在HTTPD - > Tomcat设置上检索客户端源端口

我有一个配置为处理HTTPS连接的httpd服务器,并将连接转发到处理请求的Tomcat(通过http或ajp).我在Tomcat服务器中的一个要求是记录每个请求的远程端口号.如果我直接点击Tomcat,检索远程端口号是直截了当的,我们目前正在使用该getRemotePort()函数(HttpServletRequest).

但是,由于我正在进行反向代理(通过HTTP/AJP转发HTTPS请求),因此将创建一个新连接,并且我将始终从我的httpd服务器获取连接的远程端口(以及远程IP). tomcat(除非我使用AJP.在这种情况下,远程服务器IP信息正确).

我在httpd上尝试过不同的配置,比如:

ProxyPreserveHost On
ProxyPass / ajp://localhost:8009/
Run Code Online (Sandbox Code Playgroud)

要么

ProxyPreserveHost On
ProxyPass / http://localhost:8081/
Run Code Online (Sandbox Code Playgroud)

我也用RewriteRules做了一点点,但是无法让事情发挥作用.

阅读的httpd文件,mod_proxy的报价请求之类的报头信息 X-Forwarded-Host,X-Forwarded-For等等.但没有关于源端口没有资料.

甚至发现了一个错误,显然有一个X-Forwarded-Port属性被添加到代理请求标头中,但该代码似乎没有对主线/分支进行.

因此,总之,当HTTPD将请求转发给Tomcat时,如何检索客户端的源端口(而不是反向代理)?

apache tomcat

5
推荐指数
1
解决办法
2645
查看次数

标签 统计

apache ×1

tomcat ×1