获取CDN后的真实客户IP
开始
简单介绍一下,目前接的项目有一个网站因安全问题,使用了CDN,但使用CDN后,程序读取的IP都是CDN节点的IP,故程序无法使用
经过
首先我从CDN提供商入手,得知CDN提供商为腾讯云,通过百度检索以及官网咨询,得知腾讯云CDN默认开启 X-Forwarded-For
。
接着进入服务器,修改Nginx配置
在Nginx全局配置中,在 http{
后加入
1 |
|
set_real_ip_from
:默认为空,可设置为任意 IP 或 IP 段,实例中的 0.0.0.0/0 表示覆盖了所有网段real_ip_header
:默认值是 X-Real-IP,可以设置为任意字符串,一般建议改用 X-Forwarded-For。
之后重载服务器配置,测试访问后,成功获取ClientIP。
参考资料
图解 nginx 如何获取真实的来源 IP
*如果对Nginx获取IP方式不清楚的,非常推荐阅读这一篇文章。
封面飞机:MiG-17 米格17战斗机(苏联)
获取CDN后的真实客户IP
http://www.evec.cc/2022/10/19/Get_Real_IP/