最近网站浏览量增大,服务器问题频出,在查看日志的时候发现用户访问 ip 都是 cf 的泛播 ip,于是通过修改 Nginx 的配置文件将 cf 发送给我们的标头显示出来,在此记录一下。

在此警示各位网络并非法外之地,一举一行都有据可查,请文明上网。

下图是我修改 Nginx 配置文件之前 log 日志记录的 ip,这都是 cf 的泛播 ip。

修改 Nginx 配置文件:

宝塔的 nginx 配置文件存放位置与一般 nginx 不一样。

宝塔存放 nginx 配置文件位置:/www/server/nginx/conf/nginx.conf

一般 nginx 的配置文件位置:/usr/local/nginx/conf/nginx.conf

打开 Nginx 之后在

http

{

}

部分添加如下代码:

1
2
3
4
5
6
7
map $HTTP_CF_CONNECTING_IP  $clientRealIp {
"" $remote_addr;
~^(?P<firstAddr>[0-9.]+),?.*$ $firstAddr;
}
log_format main '$clientRealIp [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'$http_user_agent $remote_addr $request_time

添加完如下图所示:

保存并退出。

之后打开网站设置,在配置文件最底下 log 后面加入 main(注意前面有空格),点击保存。

之后返回日志就可以查看到真实访问者 ip 了。