环境
系统:MacOS Mojave
web环境:docker+nginx+php-fpm
问题
nginx始终无法获取到正确的客户端ip地址,获取到的是nginx所在docker容器的网关ip
原因
后来发现是MacOS下才有的问题,在linux下正常
方法
在nginx配置文件的server段加入以下
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;现存问题
当前配置可在linux下获取到正确的客户端ip,但macOS系统获取到的依然是gateway地址,目前多次google后仍然无果,以下为部分该问题相关的参考地址
Original ip is not passed to containers
Docker Beta on Mac : Cannot use ip to access nginx container
docker 如何让 Nginx 获取到访问者 IP?
后续需要继续关注该问题的解决方案