Re: При проксировании редиректа отдаётся IP-адрес клиента.

Maxim Dounin mdounin at mdounin.ru
Tue May 13 18:18:45 UTC 2014


Hello!

On Tue, May 13, 2014 at 09:00:57PM +0300, Bogdan wrote:

> Добрый день.
> 
> Nginx 1.6.0, за ним апач.
> 
> Запрос к httpd:
> 
> GET /pma HTTP/1.1
> Host: host.tld
> 
> HTTP/1.1 301 Moved Permanently
> Date: Tue, 13 May 2014 17:45:39 GMT
> Server: Apache/2.2.15 (CentOS)
> Location: http://host.tld/pma/
> Content-Length: 236
> Connection: close
> Content-Type: text/html; charset=iso-8859-1
> 
> Аналогичный запрос к nginx:
> 
> GET /pma HTTP/1.1
> Host: host.tld
> 
> HTTP/1.1 301 Moved Permanently
> Server: nginx/1.6.0
> Date: Tue, 13 May 2014 17:47:33 GMT
> Content-Type: text/html; charset=iso-8859-1
> Content-Length: 233
> Connection: keep-alive
> Location: http://1.2.3.4/pma/
> 
> Где 1.2.3.4 - IP-адрес клиента который посылал запрос.
> HTML-часть в обоих случаях пропустил, заголовкам она соответствует.
> 
> Вот конфигурация виртуального хоста.
> 
> server {
>     listen 11.22.33.44:80 default_server;
>     server_name _;
>     access_log /var/log/nginx/default.access.log main;
> 
>     server_name_in_redirect off;
> 
>     location / {
>                 proxy_redirect off;
>                 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   Host                   $http_host;
>                 proxy_pass http://127.0.0.1:80;
>             }
>   }
> 
> Включение  server_name_in_redirect и proxy_redirect default какого-то
> видимого эффекта не оказали, всё равно в ответе фигурирует IP-адрес
> клиента. В качестве клиента использовал  telnet.

Я бы для начала убедился, что используется именно эта 
конфигурация.

Если судить по симптомам - редиректу на ip-адрес клиента - 
используется конфигурация, в которой написано что-то вроде

    proxy_set_header Host $remote_addr;

что и приводит к подобному эффекту.

-- 
Maxim Dounin
http://nginx.org/



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