宝塔面板环境站点开启CDN后如何获取真实IP地址(多设置方法)
这个问题是周末的时候帮助一个网友设置的,这里把问题简单的整理出来。这个同学有在使用宝塔面板搭建的WEB环境,且他的网站有开启和使用CDN加速,但是在加速之后呢日志中看不到真实的访客IP地址,而是CDN的节点IP,这个就不利于分析数据。所以,需要确保CDN能正常使用,而且日志的IP地址也能看到真实的IP。
1、代码修改办法
这个办法老蒋一直在用的,如果懂修改代码的直接在NGINX中修改。记录在"Nginx Web环境启用CDN后日志如何看到真实访客IP地址"。
我们需要找到"Nginx.conf"文件,然后修改。(这个文件需要看我们对应的环境工具,有一些偏差)
这里这个同学用的宝塔面板,所以我在他NGINX软件管理找到上图,直接在可视化界面修改。
log_format access '$http_x_forwarded_for - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" ';
我们需要在nginx.conf的http中插入上面的代码。如果是LNMP是在:
/usr/local/nginx/conf/nginx.conf
然后需要到当前站点的.conf文件中。
access_log /www/wwwlogs/laobuluo.com_nginx.log access;
这个格式access要和上面的要一致,我们也可以换其他的格式。最后重启生效。
2、防火墙设置办法
如果我们有使用防火墙插件的话,需要在防火墙插件中CDN开启。
3、第二种代码法
set_real_ip_from 0.0.0.0/0; real_ip_header X-Forwarded-For;
同样类似第一个界面一样配置Nginx,添加代码。
这个添加后效果和第一个是一样的。
最后,我们可以从日志文件中找找看我们自己的访问是不是留下的是真实IP地址。这样就可以解决网站开启CDN后,不记录真实IP的解决方法。
来源:https://www.itbulu.com/btcdn-enableips.html