Nginx使用CDN之后获取真实的用户IP只需简单两行代码 建站运维 第1张

前言

现如今,建站的门槛越来越低,大多数人都喜欢建立个人博客网站,而个人网站一般不会选择高防服务器或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服务商

可以兼容市面上的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, 魔门云

参与评论

  • 莫斯科游客
    博主,你说的这个cdn的 是不是适合natapp隧道连接的web服务器呢?我现在的服务器就没办法获取到访客的真实ip 而是服务器的内网ip.
    5年前 (2019-04-09)
    1楼
    回复