Nginx获取自定义头部header的值 反向代理,真实IP和真实端口问题

[ 2016-11-28 17:10:06 | 作者: admin ]
字号: | |
1、nginx是支持读取非nginx标准的用户自定义header的,但是需要在http或者server下开启header的下划线支持:
        underscores_in_headers on;

2、比如我们自定义header为X-Real-IP ,通过第二个nginx获取该header时需要这样:
        $http_x_real_ip; (一律采用小写,而且前面多了个http_)

3、如果需要把自定义header传递到下一个nginx:
        如果是在nginx中自定义采用proxy_set_header X_CUSTOM_HEADER $http_host;
        如果是在用户请求时自定义的header,例如curl –head -H “X_CUSTOM_HEADER: foo” http://domain.com/api/test,则需要通过proxy_pass_header X_CUSTOM_HEADER来传递








Nginx官方测试能够支持5万并发连接,实际生产环境中可支持2-4万并发连接数。
在测试环境中,我们的Nginx是放在两台应用服务器中的一台上,它负责对用户请求进行转发。在项目实际部署环境中Nginx会放在独立的服务器上。
在第二个主机配置上有对rewrite的配置。
下面的配置是基于nginx.conf修改的。红色字体为可修改地方。
本机做服务器host配置(可配置多项):127.0.0.1 localhost taxop.chinaacc.com
外部服务器host配置:192.168.182.3 taxop.chinaacc.com
                  upstream taxopchinaacc {//地址别名
                     ip_hash;
                     server 127.0.0.1:8882; //地址
                  }

//第一个主机

                  server {
                     server_name taxop.chinaacc.com; //访问名
                     listen 80; //监听端口
                     charset gbk; //字符集
                     access_log logs/taxop.chinaacc.access; //成功日志
                     error_log logs/error.taxopchinaacc.log; //失败日志
                     location ~* {
                     proxy_pass http:// taxopchinaacc; //地址别名,通过这个去映射地址
                     proxy_buffer_size 64k;
                     proxy_buffers 4 64k;
                     proxy_redirect off;
                     proxy_set_header Host $host;
                     proxy_set_header X-Real-IP $remote_addr;
                     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                     proxy_set_header X-Real-Port $remote_port;
                     }
                }

 
//第二个主机
             server {
                listen 80;
                server_name search.chinalawedu.com;
                access_log logs/law.falvzixun_access.log;
                location / {
                     #页头综合查询列表页 add by xuzq
                     rewrite ^/lawsearch/searchLawyerOffOrg/list_([0-9]+)_([0-9]+)_([0-9]+)_([a-z]+)_([0-9]+)_([0-9]+)_(.*)$ /lawsearch/searchLawyerOffOrg/list_$1_$2_$3_$4_$5_$6_$7 break;
                     proxy_pass http://lawfalvzixunTwo;
                     proxy_redirect off;
                     proxy_set_header Host $host;
                     proxy_set_header X-Real-IP $remote_addr;
                     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                     client_max_body_size 10m;
                     client_body_buffer_size 128k;
                     proxy_connect_timeout 600;
                     proxy_send_timeout 600;
                     proxy_read_timeout 600;
                     proxy_buffer_size 4k;
                     proxy_buffers 4 32k;
                     proxy_busy_buffers_size 64k;
                     proxy_temp_file_write_size 64k;
                }
         }
[最后修改由 admin, 于 2016-11-28 17:19:29]
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=2366

这篇日志没有评论。

此日志不可发表评论。