马上注册,免费下载更多dz插件网资源。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
Discuz!X3.5使用百度云CDN Nginx负载后端源抓取用户真实IP网站用户真实IP精确地址设置教程:
如果你参考以下官方教程方法后,并没有实现想要获得的精确用户IP地址:
Discuz!X3.5使用CDN时,获取用户真实IP
https://www.dz-x.net/t/38510/1/1.html
(出处: DZ插件网)
Discuz! X3.5 针对常见CDN/WAF/负载均衡,如何获取真实IP?
https://www.dz-x.net/t/40106/1/1.html
(出处: DZ插件网)
那么可以参考以下解决办法:
描述:因业务原因使用百度CDN ,出现后端源无法抓取用户真实IP,过滤Postman 伪造虚拟IP,默认情况下无法过滤;用户访问流程:Client---->百度CDN---->Nginx(Tengine)需求:用户直接访问Nginx ,与用户过百度CDN,都要抓取到用户真实IP;具体配置如下:1. 百度云CDN配置抓取用户IP ,选择类型使用:Real IP
2.安装Nginx(Tengine),这里使用是Tengine2.3.2 版本,支持http_realip_module 模块 ;
3. 配置Nginx 日志格式; 宝塔 —— 软件商店 —— 全部 —— 选择你目前正在使用的nginx —— 设置 —— 配置修改: 如图位置,查找: - default_type application/octet-stream;
复制代码在其下行添加:(大概31行) - log_format main '$http_x_forwarded_for|$http_x_real_ip|$remote_addr - $remote_user [$time_local] "$request"
- $status $body_bytes_sent "$http_referer"
- "$http_user_agent" "$http_x_forwarded_for" "$http_x_real_ip"';
复制代码如图:
另外一处修改添加位置: 查找: - access_log /www/wwwlogs/access.log;
复制代码在其下行,添加:(大概102行位置) - set_real_ip_from 0.0.0.0/0;
- real_ip_header X-Real-IP;
- real_ip_recursive on;
复制代码如图:
然后重启nginx服务,使之生效:
5. 配置 proxy_set_header 转发至后端,此处测试使用 proxy_set_header X-Real-IP $http_x_real_ip,proxy_set_header X-Real-IP $remote_addr ;都有测试,单独或者组合并不能过滤postman 假请求ip ,还会携带CDN 节点ip ;
最后一步: 打开你论坛 config/config_global.php
找到:
- $_config['security']['onlyremoteaddr'] = 1;
复制代码改为: - $_config['security']['onlyremoteaddr'] = 0;
复制代码
找到:
$_config['ipgetter']['setting'] = '';
改为: - $_config['ipgetter']['setting'] = 'header';
复制代码
并确认:(下行保持默认不用改即可!)
然后再去检查下论坛用户的个人信息的IP地址上次访问地址是否正常了。
©DZ插件网所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 网站部分内容来源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,得到更好的正版服务。 您在本站任何的赞助购买、下载、查阅、回复等行为等均表示接受并同意签订《DZ插件网免责声明协议》。 如有侵权请邮件与我们联系处理: discuzaddons@vip.qq.com 并出示相关证明以便删除。敬请谅解!
|