秦子恒个人介绍
秦子恒个人介绍

招商魔术师

部分作品:

《0基础一小时快速建站》

《微博营销实战宝典》

《网络招商系统》

《微信4部曲》

现在就加入微信开发QQ群:483987340,跟同行探讨微信公众平台开发。群满就关闭,你得等到下一个群开通才能加入…

网络新时代栏目
esxi教程 (2) 微信商户恢复解封 (17) exchange邮箱,exchange邮件服务器 (2) docker教程 (8) 五菱燃油观光车价格,五菱旅游观光车厂家 (4) 五菱房车,五菱房车官方网站信息 (20) 五菱物流车,五菱运输车 (3) 五菱公交,五菱客车 (24) 村村通客车 (1) 村村通公交 (1) 五菱房车,五菱房车官网 (26) 五菱校车,五菱校车官网国六 (26) exchange (6) 微信支付服务商 (10) 思科网络 (17) powershell教程 (25) 扫码点餐系统 (2) redis教程 (1) 海外小程序 (1) 微信域名防封系统 (2) 海外公众号 (2) 新加坡微信支付 (1) app应用解封 (5) 公众号解封 (16) 微信服务商 (10) 微信域名检测 (10) 恢复微信屏蔽网站 (110) 微信功能直达 (3) 老来网认证教程 (8) 付费视频网站源码 (34) 香港微信支付 (13) 微信境外支付 (18) wordpress付费阅读插件 (15) swoole教程 (14) 女装 (1) wordpress支付插件 (20) 微信服务直达开发 (16) 微信扫码支付开发 (5) wordpress插件开发 (27) 小程序插件 (6) 玩转小程序 (37) 微信沙箱 (21) web-view (40) 社交立减金 (10) 腾讯云 (22) php7 (36) 支付宝小程序 (4) 微信h5支付 (23) 企业微信 (3) 小程序运营 (17) javascript (29) 小程序支付开发 (44) 支付开发 (1) 小程序开发 (93) 微信小程序 (69) 微信买单 (4) 微信商户号 (10) 公众号支付 (20) 微信小店 (7) vim (5) 生活 (3) php订单 (13) 微信开发 (113) 微信公众号 (86) 饥饿营销 (15) 政府网站 (3) 互联网+ (52) nginx (23) apache (9) linux (42) mysql (14) php (36) 跨境电商 (2) 网站运营 (2) 京东运营 (53) 微博运营 (52) 电商运营 (97) 微电影 (1) 网络招商 (7) 网络招商研究 (8) 网络招商案例 (2) 网络招商教程 (12) 网络招商工具 (3) 招商方案动态 (1) 网络招商灵感 (3) 微博营销 (11) 未分类 (47)

首页 nginx docker nginx获取客户端真实IP,nginx容器,php容器获取客户ip是172内网地址解决方法

下面文章小编就为大家带来一篇讲docker nginx获取客户端真实IP,nginx容器,php容器获取客户ip是172内网地址解决方法。小编觉得挺不错的,现在就分享给大家,如果你在找php容器客户端ip,php容器用户ip,nginx容器客户端IP,也可以做个学习。一起跟随小编过来看看吧。

docker nginx获取客户端真实IP,nginx容器,php容器获取客户ip是172内网地址解决方法

作者:小程序爱好者 发布时间:2020-03-07

docker容器虽然很方便, 但在使用中还是会遇到一些问题, 比如在nginx容器中获取到客户端的IP是172网段的内网地址, 而我们实际是想要得到用户的真实IP。

一、 nginx容器无法获得客户ip的现象

下面子恒老师讲一下具体的情况, 然后再讲nginx容器怎么得到客户真实IP地址, 网络结构如下: docker nginx容器获取客户端真实IP 在宿主机中启动了一个nginx容器和一个php容器, nginx与宿主机使用 443 端口作映射, 当客户端访问php脚本时, nginx会转发给上游的phh容器处理。 这里的nginx容器日志中,php容器获取到的客户IP, 都是172开头的IP地址。

二、 nginx容器获取用户真实IP思路

解决这个问题的关键是:把docker网桥加入到防火墙的internal区域

三、 nginx容器,php容器得到客户端IP操作

下面以centos7系统为例, 讲解下怎么实现docker容器获取用户实际IP

3.1 查询你docker容器中网桥名称

ifconfig
br-815da7XXXXXX: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.19.0.1  netmask 255.255.0.0  broadcast 0.0.0.0
        inet6 fe80::42:efff:XXXX:XXXX  prefixlen 64  scopeid 0x20<link>
        ether 02:42:ef:XX:XX:XX  txqueuelen 0  (Ethernet)
        RX packets 1187  bytes 166115 (162.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1688  bytes 159136 (155.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
使用ifconfig命令, 类似br-815da7XXXXXX这就是docker容器的网桥名称

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

firewall-cmd --permanent --zone=internal --change-interface=br-815da7XXXXXX

3.3 重启防火墙

systemctl firewalld
这样当用户再次访问你的nginx容器,php容器时, 就能获取到对方的真实IP了。 猛击这里, 观看子恒老师《0基础安装nginx web服务器》系列视频 了解实现过程和下载相关源代码
微信赞赏码

声明:部分文章或图片未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知QQ:2334512685,我们会及时删除。

发布:秦子恒博客,欢迎转载分享,请保留出处。

docker nginx获取客户端真实IP,nginx容器,php容器获取客户ip是172内网地址解决方法链接:https://www.qinziheng.com/details/8928/