Nginx使用CDN之后两行代码获取真实的用户IP

前言

如果服务器使用了Nginx+CDN该如何获取访问用户的真实IP呢?默认情况下我们Nginx获取到总是CDN节点的IP代理,接下来介绍如何使用两行代码搞定无法获取真实IP难题!

Nginx使用CDN之后两行代码获取真实的用户IP,第1张

获取访问用户真实IP的方法

首先找到Nginxnginx.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地址一致说明配置起作用!

支持的CDN服务商信息

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(高升科技)
Google
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重启服务生效。

转载请说明出处 内容投诉
九牛网 » Nginx使用CDN之后两行代码获取真实的用户IP

发表评论

欢迎 访客 发表评论

定制开发服务!

技术支持 联系我们