网络安全 · Network security

使用CDN后,Nginx如何获取访客真实IP

•̀.̫•́✧ · 6月2日 · 2020年本文1551字 · 阅读4分钟163

写在前面

2020年了,创建一个个人网站的门槛要求可谓是越来越低了,许多技术从业者都喜欢搭建一个个人博客或者门户网站,而个人网站一般不会选择高防服务器或IP,一般人也承担不起高额的服务器费用,所以一般使用普通服务器+CDN的方式,CDN可以隐藏服务器IP,同时还能起到加速作用,一举多得

那么问题来了,如果使用了CDN,那么服务器该如何获取真实的用户IP呢?默认获取到的会是CDN节点的IP,下面介绍非常简单的两行代码。

获取用户真实IP的方法

首先找到NGINX的nginx.conf文件,如果是宝塔面板则可以在软件管理,NGINX设置的配置修改栏中直接打开,然后在http{后加入如下两行代码:

set_real_ip_from 0.0.0.0/0;
real_ip_header X-Forwarded-For;

验证是否获取成功

很简单,直接访问你的网站,然后查看网站日志,日志记录的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, 七牛, 万根网络, 上海逸云, 世纪互联, 九曲网科, 云帆加速, 云盾科技, 云端智度, 云端网络, 京东云, 今科科技, 创世云, 加速乐(知道创宇), 动力在线, 华为云, 华夏名网, 华数世纪, 厦门翼讯, 又拍云, 天互数据, 天翼云, 安全宝, 安恒信息, 帝恩思科技, 帝联科技, 广州凡科, 快网科技, 新网互联, 新网数码, 易名中国, 景安网络, 智卓安全, 深信服科技, 牛盾, 白山云, 百度云加速, 百度开放云, 盛大云, 网宿科技, 网快科技, 美团云, 美橙互联, 聚网优速, 腾讯云, 萤火云计算, 蓝云科技, 蓝汛科技, 蓝盾, 西部数码, 视界云, 速必拓, 速网科技, 速致, 金山云, 铱迅信息, 阿里云, 青松云安全, 风云互联, 首途CDN, 魔门云。

在网上还看了一些资料,说 HTTP_X_FORWARDED_FOR 是扩展头,

所以还没有成为一个标准,还有如果要将HTTP_X_FORWARDED_FOR

作为用户的真实IP那么需要判断可信CDN的IP范围,才能保证你所获取的IP是真实的而不是伪造过的。

0 条回应