On 2016-07-05 13:33, Maxim Dounin wrote:
A proxy or gateway that receives an obs-fold in a response message
that is not within a message/http container MUST either discard the
message and replace it with a 502 (Bad Gateway) response,
preferably
with a representation explaining that unacceptable line folding was
received, or replace each received obs-fold with one or more SP
octets prior to interpreting the field value or forwarding the
message downstream.
То есть он по идее должен либо вернуть 502 ошибку, либо преобразовать
перевод каретки в пробел и отдать клиенту. Но он засовывает значения
после
LineFold в заголовок Connection:
Как я уже говорил ранее, nginx не умеет обрабатывать line folding,
совсем. Он просто рассматривает это как заголовки, начинающиеся с
пробела, и отдаёт клиенту в [почти] том виде, в каком получил от
бекенда. Последующее "склеивание" с другим заголовком - лишь
следствие того, что заголовок специальный, и из-за этого порядок
заголовков в ответе поменялся, и уже ваш клиент, поддерживающий
line folding, засунул дополнительные строки в тот заголовок,
который оказался перед ними.
Допрограммировать в этом месте 502 с ошибкой в логах - возможно,
имеет смысл.
Тогда уж лучше сделать настраиваемым: 502 или склеивать. Не всегда есть
возможность контролировать поведение бакенда.
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru