Как войти клиент реального IP, а также CDN IP?
Я использую cloudflare для своего сайта.
Проблема, которую я получил, заключается в том, что после того, как я включил модуль realip в nginx, все ip CDN заменяются на 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" '
Есть ли способ сохранить IP-адреса как realip, так и CDN?
1 ответ
Взято из: Включение исходного IP посетителя в ваши логи
Вы можете включить переменные
$http_cf_connecting_ip
а также$http_x_forwarded_for
вlog_format
директивы.
Если вы хотите, чтобы IP CDN и CF-Connecting-IP
не используйте real_ip_header
и добавить $http_cf_connection_ip
на ваш log_format
:
log_format main '$remote_addr - $http_cf_connection_ip ...'