如果服务器使用了Nginx
+CDN
该如何获取访问用户的真实IP
呢?默认情况下我们Nginx
获取到总是CDN
节点的IP
代理,接下来介绍如何使用两行代码搞定无法获取真实IP
难题!
首先找到Nginx
的nginx.conf
文件;
宝塔Nginx
的配置文件位置:/www/server/nginx/conf/nginx.conf
一般Nginx
的配置文件位置:/usr/local/nginx/conf/nginx.conf
如果您使用的web
服务是宝塔面板,则可以在“软件管理”》“运行环境”》“Nginx
”打开配置文件修改培训,在http
{ }
后加入如下两行代码:
set_real_ip_from 0.0.0.0/0; #保留为0表示获取全网段IPreal_ip_header X-Forwarded-For; #heade报头信息
直接访问你的网站域名后再查看网站日志,日志记录的IP
是否为你的暴露在网上的真实IP
地址一致说明配置起作用!
15CDN
360
360网站卫士
AKAMAI
Adobe
Akamai
Amazon
Boreus
CDN.NET
CDN77
CDNetworks
CacheFly
Cedexis
Citrix Systems
CloudFlare
Cloudways
DIY Content Delivery Network
DNSPod
DNS盾
Distil
EDONG
EdgeCast
EuroDNS
Fastly
G-Core Labs
GOSUN(高升科技)
HEROKU
HIGHWINDS
IPTP Networks
ISPRIME
Incapsula
Instart Logic
Investis
KINX
KeyCDN
LEVEL3
MaxCDN
Microsoft Azure
NameBright
OVH
Omega
Oracle
PANTHEON
Planisys
Rackspace
Reblaze
ReflectedNetworks
Salesforce
Section.io
Secure Sky Technology
SpeedyCloud
Symantec
TAN14
TXNetworks
Ucloud
VOLUUM
WAFCDN
WebLuker
ZENEDGE
dediserve
online.net
七牛
万根网络
上海逸云
世纪互联
九曲网科
云帆加速
云盾科技
云端智度
云端网络
京东云
今科科技
创世云
加速乐(知道创宇)
动力在线
华为云
华夏名网
华数世纪
厦门翼讯
又拍云
天互数据
天翼云
安全宝
安恒信息
帝恩思科技
帝联科技
广州凡科
apache的设置
1、
/www/server/apache/conf/extra/httpd-remoteip.conf
RemoteIPHeader X-Forwarded-For
RemoteIPProxiesHeader X-Forwarded-By
2、
编辑 httpd.conf 配置文件
先确认 httpd.conf 里已设置加载 mod_remoteip 模块,参数如下。
LoadModule remoteip_module modules/mod_remoteip.so
在其下面添加一句,以链接上步创建的 mod_remoteip 配置文件。
Include conf/extra/httpd-remoteip.conf
再在文件里修改记录日志格式,使之记录访客 IP。搜索下面两行内容。
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
将里面的 %h 改为 %a ,修改后的内容如下。
LogFormat "%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%a %l %u %t \"%r\" %>s %b" common
保存文件修改,/etc/init.d/httpd restart重启服务生效。