最近把网站的DNS迁移到了cloudflare下面,发现服务器日志下访问的IP全是cloudflare代理的IP,虽然伪装了服务器IP这样会安全很多,但是也给日常运维带来了麻烦,服务是NGINX的解法如下:
打开NGINX配置加入以下配置
http
{
.....
set_real_ip_from 0.0.0.0/0;
real_ip_header X-Forwarded-For;
.....
}
重载配置这样日志就正常了。
但是网站还调用了matomo流量监控,它获取到的IP也全是错误的,解法如下:
打开matomo的安装目录找到config/config.ini.php
在General下面添加如下代码:
assume_secure_protocol = 1
; Uncomment line below if you use a standard proxy
;proxy_client_headers[] = HTTP_X_FORWARDED_FOR
;proxy_host_headers[] = HTTP_X_FORWARDED_HOST
; Uncomment line below if you use CloudFlare
;proxy_client_headers[] = HTTP_CF_CONNECTING_IP
; Uncomment line below if you use another proxy (that sets Client-IP header)
;proxy_client_headers[] = HTTP_CLIENT_IP
proxy_ip_read_last_in_list = 0
重启php即可。