Re: reverseproxy ломается заголовок ответа Content-Type
Andrey Oktyabrskiy
ano на bestmx.net
Вт Июл 5 11:40:11 UTC 2016
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