最近因为被 DDoS/CC 攻击的厉害,明月就临时的迁移了服务器,原来的服务器就空置下来了,让明月有时间对服务器进行了重置重新部署安装生产环境。因为站点同时使用了上海云盾和 CloudFlare(具体思路可以参考【国内网站使用国外 CloudFlare CDN 的思路分享】一文)两个 CDN 服务,所以就要解决一下 Nginx、 WordPress 、 Typecho 里获取访客真实 IP 的问题,Nginx 里是为了方便日志分析等运维工作的需要, WordPress 、 Typecho 里对于评论管理真实的 IP 还是很有必要的。
网上相关的教程倒是不少,基本上一搜可以搜出一大堆出来,明月结合自己的需求选择了 Nginx 的 http_realip_module 模块来获取开启 CDN 后的访客真实 IP。因为明月实测分析这个方法准确度和效率都是比较高的,特别是在知道 CDN 节点 IP 段前提下表现尤为突出,今天就整理出来分享给大家,为了方便大家直接使用特意在本文结尾处分享了相关的 cdn.conf 文件(包含最新上海云盾、CloudFlare 节点 IP 段等),大家只需要在 nginx.conf 里 http 里 include 这个 cdn.conf 文件即可,也方便后期更新 IP 段!
首先,我们要让 Nginx 包含 http_realip_module 模块,也