`
shootyou
  • 浏览: 81909 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

使用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

分享到:
评论

相关推荐

    RTSP 服务器转发

    RTSP 服务转发功能, 服务器功能,很好用,测试过的,不错

    nginx配置https详细步骤,从安装OpenSSL和Nginx,到生成证书,nginx配置(包括配置http请求转发到https)等

    网络上很难找到非常详细的...本文档通过真实的实践经验,从安装OpenSSL和Nginx,到利用openssl生成证书,配置nginx的https(包括配置http请求转发到https)等,详细总结出nginx配置https的步骤,最终能帮助你配置成功。

    nginx经过多层代理后获取真实来源ip过程详解

    nginx取 $remote_addr 当做真实ip,而事实上,$http_X_Forwarded_For 才是用户真实ip,$remote_addr只是代理上一层的地址 解决方案: 在 http 模块 加 set_real_ip_from 172.17.10.125; #上一层代理IP地址 real_ip_...

    CS使用请求转发隐藏真实IP1

    具体这就不演示了,ali 的可参考下第篇章,讲解了 ssl 申请以及 nginx的配置,如果域名在其它商,没有免费 ssl 的,则可以使 freessl,绑定了

    nginx_demo.zip

    nginx作用:隐藏真实服务器,负载均衡,缓存等, nginx本质上是一个http server, nginx仅仅是一个请求转发器, nginx工作原理: 接受客户端的请求,根据客户端的请求和配置文件配置的规则,做相应的请求转发

    java socket 用户真实IP测试

    java socket nginx tcp转发 用户真实IP测试,文章请看我的博客

    Nginx安装包

    这其中原因是当nginx将请求转发到tomcat2时,服务器当然能做出立即性响应,但要是转到了tomcat1,就会出现一段长达1分多钟的等待响应过程,这显然我们是不能接受的。对此我们需要对ngin配置进行写修改。在这里先介绍...

    nginx_upstream_check_module-master.zip

    借助淘宝技术团队开发的nginx模快nginx_upstream_check_module来检测后方realserver的健康状态,如果后端服务器不可用,则会将其踢出upstream,所有的请求不转发到这台服务器。当期恢复正常时,将其加入upstream。 ...

    Nginx下实现pathinfo及ThinkPHP的URL模式

    打开Nginx配置文件(不同版本的Nginx可能稍有不同),配置: #去掉$是为了不匹配行末,即可以匹配.php/,以实现pathinfo #如果不需要用到php后缀,也可以将其去掉 location ~ .php { #原有代码 #定义变量 $path_...

    Nginx服务器负载均衡及ssl原理、生成ssl密钥对、Nginx配置ssl操作示例

    当用户访问nginx定制好的域名时,nginx通过转发到几台真实的站点,通过upstream实现 [root@centos7 vhost]# vim /usr/local/nginx/conf/vhost/load.conf upstream www.tt.com #自定义域名 { # ip_ash; #保证同一个...

    Nginx配置入门教程

    Nginx 最常的用途是提供反向代理服务,那么什么反向代理呢?正向代理相信很多大陆同胞都在这片神奇的土地上用过了,原理大致如下图: 代理服务器作为客户端这边的中介接受请求,隐藏掉真实的客户,向服务器获取资源...

    Nginx主要应用场景

    正向代理以上就是了解到的Nginx在不依赖第三方模块能处理的事情,下面详细说明每种功能怎么做反向代理应该是Nginx做的最多的一件事了,什么是反向代理呢,以下是百度百科的说法:反向代理(ReverseProxy)方式是指以...

    大白话图文结合剖析LVS原理

    nginx每个请求都需要与客户端握手,且服务端返回响应后需要经过nginx转发到客户端,也就是请求和响应都需要经过nginx lvs不需要和客户端握手,就是一个转发器,请求来了我就转发到后面真实服务器,LVS的DR模式,可以...

    Bypass_CGNAT:Wireguard设置可通过VPS绕过CGNAT

    为我的NPM(Nginx代理管理器)服务器提供客户端真实IP(用于fail2ban阻止目的) 允许流量流向NPM无法管理的内部服务 在创建此解决方案之前,我经历了一些配置和VPS提供程序。 在尝试此操作之前,我对VPS提供程序,...

    Airflow-Exporter:用于Prometheus的气流出口器

    气流出口商一个关于airflow指标的自定义出口商配置文件改配置文件中需要你去设置需要访问的airflow的ip地址nginx_ip:能访问airflow的地址(如果没有转发,直接写airflow的真实地址)remote_ip: 真实的airflow地址...

    Java获取客户端IP

     原因:由于在客户端和服务之间增加了中间代理,因此服务器无法直接拿到客户端的IP,服务器端应用也无法直接通过转发请求的地址返回给客户端。  现在图示代理上网和IP的关系:  第一种情况:不通过代理上网,...

Global site tag (gtag.js) - Google Analytics