首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

施用Nginx转发真实头信息

2012-12-23 
使用Nginx转发真实头信息使用Nginx作为反向代理服务器的时候会发生这种情况。?客户端请求 - Nginx转发 -

使用Nginx转发真实头信息

使用Nginx作为反向代理服务器的时候会发生这种情况。

?

客户端请求 -> Nginx转发 -> tomcat服务器

?

?

默认配置的情况下,tomcat服务器拿到的头信息都会变成Nginx服务器代理之后的头信息,例如Host将会变为Nginx服务器的IP。

?

那么tomcat服务器在分析服务器日志的时候就拿不到真实客户端的ip了。所以需要在nginx配置如下信息。

?

server_name www.mydomain.com;location /myproj/repos {set $fixed_destination $http_destination;if ( $http_destination ~* ^https(.*)$ ){set $fixed_destination http$1;}proxy_set_header        Host $host;proxy_set_header        X-Real-IP $remote_addr;proxy_set_header        Destination $fixed_destination;proxy_pass              http://subversion_hosts;}
?

?

代理的时候会重新设置header的信息为原客户端的请求header。麻烦的时候header信息得一个一个设置。

?

参考:http://wiki.nginx.org/NginxChsHttpProxyModule#proxy_set_header

热点排行