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