liberty 不在访问日志中记录 remote/front-end 用户 IP
liberty doesn't log the remote/front-end user IP in the access log
我们部署Apache Httpd(WAS Plugin)+WLP集群,Apache Httpd的访问日志显示正确的front-end用户IP,但是在WLP的访问日志中,HTTP请求的IP是Apache Httpd 服务器 IP 而不是 front-end 用户 IP。
我打开了 WAS WebServer Plug-in DEBUG 日志级别,看到 $WSRA 在 http_plugin.log 中正确设置如下:
[24/Nov/2016:02:42:13.63592] 00001a55 9e5f6700 - DETAIL: mod_was_ap24_http: cb_get_headers: Skipping header name '$WSRA'; This is a restricted WebSphere header
7483 [24/Nov/2016:02:42:13.63594] 00001a55 9e5f6700 - DEBUG: Set header |$WSAT| to |openid-connect|
7484 [24/Nov/2016:02:42:13.63596] 00001a55 9e5f6700 - DEBUG: Set header |$WSIS| to |true|
7485 [24/Nov/2016:02:42:13.63598] 00001a55 9e5f6700 - DEBUG: Set header |$WSSC| to |https|
7486 [24/Nov/2016:02:42:13.63600] 00001a55 9e5f6700 - DEBUG: Set header |$WSPR| to |HTTP/1.1|
7487 [24/Nov/2016:02:42:13.63602] 00001a55 9e5f6700 - DEBUG: Set header |$WSRA| to |9.125.233.196|
7488 [24/Nov/2016:02:42:13.63604] 00001a55 9e5f6700 - DEBUG: Set header |$WSRH| to |9.125.233.196|
7489 [24/Nov/2016:02:42:13.63606] 00001a55 9e5f6700 - DEBUG: Set header |$WSRU| to xxxxxx
7490 [24/Nov/2016:02:42:13.63608] 00001a55 9e5f6700 - DEBUG: Set header |$WSSN| to |9.115.114.76|
7491 [24/Nov/2016:02:42:13.63610] 00001a55 9e5f6700 - DEBUG: Set header |$WSSP| to |443|
同时在后端 WLP 服务器中,我有一个 JSP 来打印出 HTTP headers,$WSRA 仍然正确。
但在 WLP access.log 中,出现了问题,它使用了代理服务器 IP(与 $WSSN 相同)而不是 $WSRA。
9.115.114.76 xxxxxxx "GET /test/ HTTP/1.1" ...
我们想在access.log中记录$WSRA真实的远程用户IP。谢谢。
最后,我能够使用自定义 WAS 访问日志格式“ %{WSRA}i %u %{t}W "%r" %s %b "将真实的远程用户IP地址打印到访问日志
我们部署Apache Httpd(WAS Plugin)+WLP集群,Apache Httpd的访问日志显示正确的front-end用户IP,但是在WLP的访问日志中,HTTP请求的IP是Apache Httpd 服务器 IP 而不是 front-end 用户 IP。
我打开了 WAS WebServer Plug-in DEBUG 日志级别,看到 $WSRA 在 http_plugin.log 中正确设置如下:
[24/Nov/2016:02:42:13.63592] 00001a55 9e5f6700 - DETAIL: mod_was_ap24_http: cb_get_headers: Skipping header name '$WSRA'; This is a restricted WebSphere header
7483 [24/Nov/2016:02:42:13.63594] 00001a55 9e5f6700 - DEBUG: Set header |$WSAT| to |openid-connect|
7484 [24/Nov/2016:02:42:13.63596] 00001a55 9e5f6700 - DEBUG: Set header |$WSIS| to |true|
7485 [24/Nov/2016:02:42:13.63598] 00001a55 9e5f6700 - DEBUG: Set header |$WSSC| to |https|
7486 [24/Nov/2016:02:42:13.63600] 00001a55 9e5f6700 - DEBUG: Set header |$WSPR| to |HTTP/1.1|
7487 [24/Nov/2016:02:42:13.63602] 00001a55 9e5f6700 - DEBUG: Set header |$WSRA| to |9.125.233.196|
7488 [24/Nov/2016:02:42:13.63604] 00001a55 9e5f6700 - DEBUG: Set header |$WSRH| to |9.125.233.196|
7489 [24/Nov/2016:02:42:13.63606] 00001a55 9e5f6700 - DEBUG: Set header |$WSRU| to xxxxxx
7490 [24/Nov/2016:02:42:13.63608] 00001a55 9e5f6700 - DEBUG: Set header |$WSSN| to |9.115.114.76|
7491 [24/Nov/2016:02:42:13.63610] 00001a55 9e5f6700 - DEBUG: Set header |$WSSP| to |443|
同时在后端 WLP 服务器中,我有一个 JSP 来打印出 HTTP headers,$WSRA 仍然正确。
但在 WLP access.log 中,出现了问题,它使用了代理服务器 IP(与 $WSSN 相同)而不是 $WSRA。
9.115.114.76 xxxxxxx "GET /test/ HTTP/1.1" ...
我们想在access.log中记录$WSRA真实的远程用户IP。谢谢。
最后,我能够使用自定义 WAS 访问日志格式“ %{WSRA}i %u %{t}W "%r" %s %b "将真实的远程用户IP地址打印到访问日志