为什么我的$http_x_forwarded_for是空的,

来源:3-15 Nginx作为代理服务_正向代理配置场景(1)

冼星扉

2017-10-22

if ( $http_x_forwarded_for !~* "^116\.62\.103\.228") {
            return 403;
        }

通过日志打印是空值,按照老师讲解应该包含,代理+客户端的ip。

写回答

4回答

醉李白

2019-08-06

同问,我的是$remote_addr后正确了,很奇怪

0
0

Jeson

2017-10-23

如果走正向代理访问,后端服务remote_addr为正向代理的ip地址,对客户端限制其不到作用。
那先看看access日志,查下xforword和 remote都打印的什么内容

0
1
冼星扉
remote ip可以打印是代理服务器的ip,xfoward就空值。难道代理服务器上还有什么我没配置的?
2017-10-23
共1条回复

Jeson

2017-10-22

是这样的:代理+客户端的ip  是请求通过代理的情况下会,但如果直接访问后端服务(没有通过代理转发),xforwarded为空。

0
4
醉李白
设置了代理呀,浏览设置了代理,请求转发到代理服务,然后由代理服务器转发到其他服务器啊, location / { proxy_pass http://$http_host$request_uri; #proxy_set_header X-Real-IP $remote_addr; #proxy_set_header X-Forwarded_For $remote_addr; #proxy_pass http://$http_host$request_uri; }
2019-08-06
共4条回复

冼星扉

提问者

2017-10-22

补充是3-14

0
0

Nginx入门到实践-Nginx中间件应用+搭建Webserver架构

中间件、负载均衡、应用层安全防护、动静分离、Nginx+LUA开发等

4183 学习 · 908 问题

查看课程