Nginx Web服务器在使用的时候常常会使服务取ip出现问题,让Nginx Web服务器直接支持x_forwarded_for是其中一种解决方案。那么我们要如何才能使用这样的方案呢?
公司主营业务:成都做网站、网站制作、成都外贸网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出定陶免费做网站回馈大家。
- set $ip $http_x_forwarded_for;
- if ($ip ~ ^$ )
- {
- set $ip $remote_addr;
- }
- proxy_set_header X-Forwarded-For "$ip, $server_addr";
用这段代码就可以让Nginx Web服务器支持标准的x_forwarded_for,在某些情况下,可以用:
- proxy_set_header X-Forwarded-For "$ip";
不把Nginx Web服务器机器的ip地址加进去。
附:x_forwarded_for取ip的正确方式
x_forwarded_for是将请求路过的代理服务器的ip都记录下来的一条字符串,每经过一个代理服务器,x_forwarded_for就会在它的后面加上这个代理服务器的ip地址。常见的:
119.120.112.157, 61.135.253.11
这样就表示请求经过了一个代理服务器61.135.253.11。
119.120.112.157, 61.135.253.11, 192.168.0.13
经过了两个代理服务器61.135.253.11和192.168.0.13。
这样看起来取***个ip地址就是正确的,不过这比较草率:
192.168.0.1, 119.120.112.157, 61.135.253.11, 192.168.0.13
可以看到会有这样的x_forwarded_for地址,这是因为用户在反向代理前,还用了一个正向代理上网,这时取***个的话就是192.168.0.1,显然是不正确的。正确的取法应该是:取倒数***个非服务器ip,在例子中61.135.253.11, 192.168.0.13,这两个ip都是服务器用的ip,除去这两个,倒数***个119.120.112.157就是正确的。
网站标题:NginxWeb服务器标准IP解决方案
转载源于:http://www.mswzjz.cn/qtweb/news2/220552.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能