Re: Цепочка nginx proxy

Maxim Dounin mdounin at mdounin.ru
Tue Mar 24 12:12:57 UTC 2015


Hello!

On Tue, Mar 24, 2015 at 11:34:21AM +0300, Pavel Mihaduk wrote:

> Кстати, в связи с подчеркиваниями у меня давно вопрос: чего ради было делать 
> дефолт именно таким, какой он есть? Мне в свое время это доставило немало 
> головной боли с uwsgi, когда nginx выбрасывал REQUEST_METHOD :(

Потому что в рамках протокола CGI (используемого, в своих 
вариациях, чуть менее, чем везде, включая переменные $http_... в 
самом nginx'е) заголовки представляются в виде переменных с 
именами HTTP_HEADER_NAME, и заголовки с подчёркиваниями - не 
отличимы от заголовков со стандартным дефисом.  Соответственно 
заголовки с подчёркиванием могут быть использованы для того, чтобы 
выдать их за какие-либо специальные заголовки (Content-Length, 
X-Real-IP, whatever).

При этом в HTTP - не бывает стандартных заголовков с 
подчёркиванием, и если вдруг подчёркивание встретилось - это 
чья-то самодеятельность.

Формально, по стандарту HTTP - подчёркивание использовать можно, 
это обычный символ.  Но, в свете вышеизложенного, обрабатывать 
такие заголовки и пропускать их на бекенды - плохая идея.

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



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