apache转发客户端端口到tomcat的配置 以及 apache日志格式的配置

本文介绍了如何配置apache以转发客户端端口到tomcat,并详细解析了apache日志格式的配置。在项目中,由于请求首先到达apache,再通过ajp协议转发到tomcat,导致无法直接获取客户端端口。通过启用mod_rewrite和mod_headers模块,并调整apache配置,可以解决这个问题。同时,文章还分享了如何在apache日志中添加客户端源ip和源端口的信息。
摘要由CSDN通过智能技术生成

一、apache转发客户端端口到tomcat的配置

做项目的时候需要获取客户端的ip以及端口。试了三种方式(下面贴了具体代码)都没办法去的客户端的端口,只能一步一步查原因了。我用第一第二种获取端口的方式拿到的都是null,第三种方式我拿到的客户端端口是0或者-1。登到公司服务器上,发现请求首先会到apache上,然后通过ajp协议转到tomcat。apache同时完成了反向代理。实现了在同一个域名下,apache会根据请求的地址,自动分配的各自的tomcat上。

这样看来很可能是apache转发的时候把客户的源端口丢失了。apache作为代理服务器,可以通过配置mod_rewrite 和 mod_headers这两个模块实现。

第一步,在apache配置文件中追加对上面两个module的引用,apache的配置文件httpd.conf:

LoadModule rewrite_module                 modules/mod_rewrite.so  
LoadModule headers_module                 modules/mod_headers.so 
(其实我自己这边服务器上的配置文件这里只是被注释掉了,去掉#就好了)

第二步,在apache配置文件中加上具体的rewrite规则

RewriteEngine on  
RewriteRule .* - [E=REMOTE_PORT:%{REMOTE_PORT},NE]  
RequestHeader set X-Forwarded-SourcePort %{REMOTE_PORT}e
第一行是开启的意思

第二行是设置规则

第三行是添加属性

第三步,

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值