проблема в 1.2.х - client sent invalid header line

ShivaS nginx-forum at nginx.us
Thu Oct 18 16:36:26 UTC 2012


Добрый вечер,
На одной из систем мы начали переходить с 0.6.7 на 1.2.4
Есть моменты, когда клиент посылает в один из хедеров (а точнее в
Content-Type) какой-то спец символ/character, после получения которого nginx
отсылает сразу 400.

Символ похож на 2 квадратные скобки, образующие вертикально стоящий
прямоугольник, ближе к квадрату, что-то навроде этого []   (это 2 скобки, а
сам символ как одно целое и шире)
Хотя, возможно это и не имеет значение как оно выглядит. Вроде это
происходит когда что-то не на latin/utf-8 (и так интерпретируется.)

В любом случае ошибка выглядит так:
2012/10/17 12:51:46 [info] 25858#0: *549831 client sent invalid header line:
"Content-Type: application/x-www-form-urlencoded
и потом идет список других хедеров и сама POST дата, и всё записано в логе.
Можно и куки словить и все что угодно. Реквест сломался.
Т.е. nginx шлет 400, но другие и POST данные приходят по любому и
записываются в логе (неправильный реквест)

Аналайзер показал что в реале сразу после blabla....urlencoded идет
вышеупомянутый символ [] (слитно с хедером)

Так вот, в 0.6.7 без проблем работает всё из коробки. 
А вот 1.2.х отсекает сразу с 400 и даже разрешение invalid headers не
помогает 

Это что-то стало слишком стрикт  и ничего не поделать или можно заставить
работать? 
Пока что откатились на 0.6.7 к сожалению, а на других системах поставили ЕС2
прокси, которые это тоже игнорят.

Спасибо!

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



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