ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Не передаю тся заголо вки при SSL



On Thu, 22 Oct 2009, dim-dim77 wrote:

Добрый день

nginx/0.8.17

Есть конструкция:

server {
...
       ssl on;
...
       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 SSL_VERIFY $ssl_client_verify;
...
       location / {
               proxy_pass http://127.0.0.1/;
       }
}

Так вот, если я захожу на сервер через прокси-сервер, то на бэкенд не передается заголовок Via, а в заголовке X-Forwarded-For записан только IP адрес прокси-сервера.

Если же поставить "ssl off", то на бэкэнд нормально передается заголовок Via, а в X-Forwarded-For записан и IP прокси-сервера, и IP клиента.

Предположу, что когда вы "ставите "ssl off"", вы ещё и в адресной строке схему меняете с 'https' на 'http'. Так ведь?

В таком случае ваш прокси-сервер будет добавлять заголовки "Via: " и "X-Forwarded-For: " в запрос к серверу - потому что "видит" открытый текст http-запроса.

Когда же вы заходите на https-enabled сервер прокси-сервер, то ваш прокси-сервер не видит никаких http-запросов\ответов - он только выполняет просьбу клиента соединить его с сервером напрямую, прозрачным TCP-туннелем, внутри которого браузер и сервер строят защищённое по протоколу SSL соединение.

Соответственно, с точки зрения https-сервера к нему пришёл прямой (без прокси) клиент с ip-адреса прокси - о чём он и уведомляет бэкенд выставлением заголовка "X-Forwarded-For: <IP адрес прокси-сервера>"
А IP-адреса конечного клиента - сервер в такой ситуации не знает.


--
Best regards,
Andrew Kopeyko <kaa@xxxxxxxx>




 




Copyright © Lexa Software, 1996-2009.