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