使用docker部署的nginx日志获取真实用户IP


前言:今天使用docker部署Nginx,感觉还挺方便的,后来发现Nginx日志获取的IP是docker的IP,不是真实的客户端IP,分享下如何获取真实的客户端IP

1、下面图的IP是172开头的,这是属于容器分配的IP,通过把docker网桥加入到防火墙的internal区域就可以获取到真实的IP

 2、查询你docker容器中网桥名称,以br-d4aaa开头的就是容器中网桥

[root@test 15:52:44 /]# ifconfig
br-d4aaa1xxxx: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.0.1  netmask 255.255.0.0  broadcast 192.168.255.255
        ether 02:42:6f:95:d3:cd  txqueuelen 0  (Ethernet)
        RX packets 16  bytes 1298 (1.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 16  bytes 1298 (1.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

3、把网桥加入到防火墙的internal(内部)区域

firewall-cmd --permanent --zone=internal --change-interface=br-d4aaa1xxxx(你的容器网桥)

4、重启firewalld

systemctl stop firewalld.service
systemctl start firewalld.service

5、再次访问查看Nginx日志


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM