1

我正在为我的网站使用 cloudflare。

我遇到的问题是,在 nginx 上启用 realip 模块后,所有 CDN ip 都被替换为用户的 realip。然后当我检查 nginx 日志时,我无法确定用户是通过 CDN 连接还是直接连接到服务器。

下面是我的配置:

set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
...
real_ip_header X-Forwarded-For;

....
log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '

有什么办法可以同时保留 realip 和 CDN IP?

4

1 回答 1

1

取自:在您的日志中包含原始访问者 IP

您可以在指令中包含变量$http_cf_connecting_ip和。$http_x_forwarded_forlog_format

如果您想要 CDN IP 和CF-Connecting-IP不使用real_ip_header并添加$http_cf_connecting_ip到您的log_format

log_format  main  '$remote_addr - $http_cf_connecting_ip ...'
于 2018-07-25T08:04:58.020 回答