У меня Nginx настроен на Linux монетный двор. Nginx работает как обратный прокси. Использование HTTPS на letsencrypt сертифицировано. когда я вижу журнал для поля nginx и веб-приложение показывает IP моего шлюза вместо IP-адреса клиента. Я испробовал все возможные способы пересылки заголовка прокси, но я не вижу реального IP-адреса клиента. Вместо этого я вижу свой IP-адрес шлюза (192.168.XX) везде в nginx журналах и приложении.
Я пытался настроить nginx журналы, но не повезло ...: (
У меня есть аналогичный сервер Nginx 1.10 и с сертификатом https от CA он работает нормально.
Linux версия
NAME="Linux Mint"
VERSION="18.2 (Sonya)"
ID=linuxmint
ID_LIKE=ubuntu
PRETTY_NAME="Linux Mint 18.2"
VERSION_ID="18.2"
Nginx версия
nginx version: nginx/1.16.0
built by gcc 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.4)
built with OpenSSL 1.0.1f 6 Jan 2014 (running with OpenSSL 1.0.2g 1 Mar 2016)
TLS SNI support enabled
Nginx Обратный прокси-сервер conf в sites-enable
server {
server_name my.domain.com;
listen 443 ssl;
listen [::]:443 ssl;
ssl_certificate /XXXX/fullchain.pem;
ssl_certificate_key /XXXX/privkey.pem;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers “XXXXXX”;
ssl_prefer_server_ciphers on;
ssl_dhparam /XXXX/dhp.pem;
underscores_in_headers on;
proxy_pass_request_headers on;
set_real_ip_from 127.0.0.1;
set_real_ip_from 192.168.X.X;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
location / {
proxy_pass http://localhost:XXXX;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection ^ ^ upgrade ^ ^ ;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For3 $proxy_add_x_forwarded_for;
proxy_set_header X-Server-Address $server_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For1 $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-For2 $http_x_real_ip;
proxy_set_header x-f-f4 $realip_remote_addr;
proxy_pass_request_headers on;
proxy_headers_hash_max_size 512;
}
}
Nginx Журналы conf (nginx .conf)
log_format main '$remote_addr - $remote_user [$time_local] "$status" "$scheme://$host" "$request" '
'$body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
заголовок приложения Log
{ connection: 'âupgradeâ',
host: 'my.domain.com',
'x-forwarded-for': '192.168.X.X',
'x-real-ip': '192.168.X.X',
'x-forwarded-for3': '192.168.X.X',
'x-server-address': '192.168.X.Z’,
'x-forwarded-for1': '192.168.X.X',
'x-f-f4': '192.168.X.X',
'save-data': 'on',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 (ABC…) ',
'sec-fetch-dest': 'document',
accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'sec-fetch-site': 'none',
'sec-fetch-mode': 'navigate',
'sec-fetch-user': '?1',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'en-US,en;q=0.9,ur;q=0.8,ar;q=0.7',
cookie: '_ga=GA1.3.1984839152.1577987176; lng=en' }