缺陷:
nginx的访问控制限制是针对客户端的IP来进行限制的,但是nginx并不确定真正的客户端是哪个,凡是和nginx进行交互的都被当做是客户端,(remote_addr是直接和nginx通信的IP)如果我们访问不是直接访问到服务端而是由中间代理进行(如上图),访问控制这时就会失效
局限性解决方法总结:
方法一: 采用http头信息控制访问,如HTTP_X_FORWARD_FOR
方法二: 结合geo模块
方法三: 通过HTTP自定义变量传递
http_x_forwarded_for头信息控制访问 会更好的解决该问题,它要求访问时必须带上所有用到的ip的地址信息