nginx reverse proxy и nginx backend не пропускает ip

igroykt nginx-forum на forum.nginx.org
Ср Авг 9 12:54:24 UTC 2017


Всем привет.
nginx frontend:
server{
...
        location / {
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Forwarded-Host $server_name;
                proxy_redirect off;
                proxy_connect_timeout 2s;
                proxy_pass https://office;
        }
}
nginx version: nginx/1.13.3
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --with-http_ssl_module --with-http_stub_status_module
--with-http_flv_module --with-http_mp4_module --with-http_realip_module

=======================

nginx backend:
server {
......
location / {
.....
        location ^~ /restricted {
                allow 1.2.3.4;
                deny all;
                location ~ \.php$ {
                        try_files $uri =404;
                        fastcgi_split_path_info ^(.+\.php)(/.+)$;
                        fastcgi_pass 127.0.0.1:9000;
                        fastcgi_index index.php;
                        fastcgi_read_timeout 300;
                        fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
                        fastcgi_intercept_errors on;
                        include fastcgi_params;
                }
}
}
nginx version: nginx/1.13.3
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --with-http_stub_status_module --with-http_ssl_module
--with-file-aio --with-threads --with-http_mp4_module --with-http_flv_module
--with-http_realip_module

====================

Отдает 403. В логе:
1.1.1.1 - - [09/Aug/2017:21:50:07 +0900] "GET /pwned/ HTTP/1.0" 403 564 "-"
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/59.0.3071.115 Safari/537.36" "1.2.3.4"
1.1.1.1 - - [09/Aug/2017:21:50:08 +0900] "GET /favicon.ico HTTP/1.0" 200
1150 "https://office.mytona.com/pwned/" "Mozilla/5.0 (Windows NT 10.0;
Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115
Safari/537.36" "1.2.3.4"
где 1.1.1.1 это адрес frontend а 1.2.3.4 адрес backend.
логформат на backend:
log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent"' 'http_x_forwarded_for =
$http_x_forwarded_for, real_ip_remote_addr = $realip_remote_addr';
Судя по логу x-forwarded-for проходит в remote_addr сохраняется адрес
reverse proxy.
Как жить?

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,275983,275983#msg-275983



Подробная информация о списке рассылки nginx-ru