使用Nginx如何配置Tomcat访问日志记录真实IP
2013-12-26 08:43
976 查看
使用Nginx作为反向代理时,Tomcat的日志记录的客户端IP就不在是真实的客户端IP,而是Nginx代理的IP。要解决这个问题可以在Nginx配置一个新的Header,用来存储$remote_add,然后再Tomcat获取记录这个值。
1.nginx nginx.conf中加:
server
{
listen 8001;
server_name www.123.com;
index index.jsp;
root /opt/123.com/;
location ~ \.(action|jsp|do|gif|png|java|jar|jpg|jpeg|js|javascript|swf|css|xap|txt)?$
{
proxy_set_header Host www.123.com:8001;
proxy_pass http://web; proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
}
access_log /var/log/web-nginx_8001.log;
}
2.tomcat server.xml中加:
当然你也可以diy日志文件里面的内容,顺序,打印项都可以调整。
<Valve className="org.apache.catalina.valves.AccessLogValve"directory="logs"prefix="localhost_access_log."suffix=".txt"pattern="%{X-FORWARDED-FOR}i %l %u %t %r %s %b %D %q %{User-Agent}i %T"resolveHosts="false"/>
3、日志结果[root@localhost ~]# tail -f /opt/tomcat/logs/localhost_access.log-------------------------------------------------------------------------------------------------------------------114.249.197.149 - - [04/Jun/2013:21:29:41 +0800] GET /index.jsp HTTP/1.0 302 - 45 Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.5 Safari/537.31 0.045114.249.197.149 - - [04/Jun/2013:21:29:47 +0800] GET /login.action HTTP/1.0 200 5054 5572 Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.5 Safari/537.31 5.572114.249.197.149 - - [04/Jun/2013:21:29:47 +0800] GET /images/login/spacer.gif HTTP/1.0 200 43 1 Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.5 Safari/537.31 0.001114.249.197.149 - - [04/Jun/2013:21:29:47 +0800] GET /images/login/login_r1_c1.jpg HTTP/1.0 200 23667 1 Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.5 Safari/537.31 0.001114.249.197.149 - - [04/Jun/2013:21:29:47 +0800] GET /images/login/login_r1_c3.jpg HTTP/1.0 200 29366 2 Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.5 Safari/537.31 0.002
1.nginx nginx.conf中加:
server
{
listen 8001;
server_name www.123.com;
index index.jsp;
root /opt/123.com/;
location ~ \.(action|jsp|do|gif|png|java|jar|jpg|jpeg|js|javascript|swf|css|xap|txt)?$
{
proxy_set_header Host www.123.com:8001;
proxy_pass http://web; proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
}
access_log /var/log/web-nginx_8001.log;
}
2.tomcat server.xml中加:
当然你也可以diy日志文件里面的内容,顺序,打印项都可以调整。
<Valve className="org.apache.catalina.valves.AccessLogValve"directory="logs"prefix="localhost_access_log."suffix=".txt"pattern="%{X-FORWARDED-FOR}i %l %u %t %r %s %b %D %q %{User-Agent}i %T"resolveHosts="false"/>
3、日志结果[root@localhost ~]# tail -f /opt/tomcat/logs/localhost_access.log-------------------------------------------------------------------------------------------------------------------114.249.197.149 - - [04/Jun/2013:21:29:41 +0800] GET /index.jsp HTTP/1.0 302 - 45 Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.5 Safari/537.31 0.045114.249.197.149 - - [04/Jun/2013:21:29:47 +0800] GET /login.action HTTP/1.0 200 5054 5572 Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.5 Safari/537.31 5.572114.249.197.149 - - [04/Jun/2013:21:29:47 +0800] GET /images/login/spacer.gif HTTP/1.0 200 43 1 Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.5 Safari/537.31 0.001114.249.197.149 - - [04/Jun/2013:21:29:47 +0800] GET /images/login/login_r1_c1.jpg HTTP/1.0 200 23667 1 Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.5 Safari/537.31 0.001114.249.197.149 - - [04/Jun/2013:21:29:47 +0800] GET /images/login/login_r1_c3.jpg HTTP/1.0 200 29366 2 Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.5 Safari/537.31 0.002
相关文章推荐
- 使用Nginx如何配置Tomcat访问日志记录真实IP
- 使用Nginx如何配置Tomcat访问日志记录真实IP
- 用nginx转发请求tomcat 如何配置访问日志获取真实ip
- 用nginx转发请求tomcat 如何配置访问日志获取真实ip
- nginx前端,tomcat后端服务器获取客户的真实IP,包括tomcat访问日志获取真实IP的配置
- 怎样配置让apache访问日志记录真实客户端IP,而不是nginx代理服务器IP
- 怎样配置让apache访问日志记录真实客户端IP,而不是nginx代理服务器IP
- 怎样配置让apache访问日志记录真实客户端IP,而不是nginx代理服务器IP
- [转]如何配置和使用Tomcat访问日志
- 如何配置和使用Tomcat访问日志
- 使用nginx做反向代理,后端tomcat日志获取真实ip解决方案
- 老男孩教育每日一题-第80天-如何实现 Nginx 代理的节点访问日志记录客户的 IP 而不是代理的 IP?
- Tomcat:如何配置和使用Tomcat访问日志
- 如何通过配置F5 使业务程序获得真实客户端IP 及 IIS 日志记录真实客户端的IP
- 如何实现 Nginx 代理的节点访问日志记录客户的 IP 而不是代理的 IP?
- 如何配置和使用Tomcat访问日志
- tomcat配置记录访问ip日志
- Nginx 安装配置 禁止使用IP访问 rewrite重写 别名设置 日志轮询
- 关于网上流传的nginx文档的1个错误(nginx+tomcat日志记录真实IP)
- 如何配置和使用Tomcat访问日志