Прокси файл для nginx

Прокси

_x000D_server{_x000D_ listen 80;_x000D_ server_name domain.test;_x000D_ location / {_x000D_ proxy_pass http://172.20.0.25:80/;_x000D_ include inc/proxy_params.inc;_x000D_ }_x000D_}

Файл inc/proxy_params.inc

_x000D_proxy_set_header HOST $host;_x000D_proxy_set_header X-Real-IP $remote_addr;_x000D_proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;_x000D_proxy_set_header X-Forwarded-Proto $scheme;

Несколько NGINX прокси

Если стоит цепочка из нескольки NGINX серверов, то лучше сделать следующее:

В proxy_params указать следующее:

_x000D_set $server_ip $server_addr;_x000D_set $the_http_x_forwarded_proto $scheme;_x000D_set $the_http_x_forwarded_for "${http_x_forwarded_for}, ${http_x_forwarded_ip}, ${server_ip}";_x000D_if ($http_x_forwarded_ip = ""){_x000D_ set $the_http_x_forwarded_for "${http_x_forwarded_for}, ${server_ip}";_x000D_}_x000D_if ($http_x_forwarded_proto = "https"){_x000D_ set $the_http_x_forwarded_proto "https";_x000D_}_x000D_if ($http_x_forwarded_for = ""){_x000D_ set $the_http_x_forwarded_for "$proxy_add_x_forwarded_for, ${server_ip}";_x000D_}_x000D_proxy_set_header HOST $host;_x000D_proxy_set_header Referer $http_referer;_x000D_proxy_set_header X-Real-IP $remote_addr;_x000D_proxy_set_header X-Forwarded-For $the_http_x_forwarded_for;_x000D_proxy_set_header X-Forwarded-IP $server_ip;_x000D_proxy_set_header X-Forwarded-Proto $the_http_x_forwarded_proto;_x000D__x000D_#set_real_ip_from PROXY_IP1;_x000D_#set_real_ip_from PROXY_IP2;_x000D_#real_ip_header X-Real-IP;_x000D_#real_ip_recursive on;_x000D_#proxy_next_upstream error timeout http_502;