http 401
Igor Sysoev
is at rambler-co.ru
Tue Mar 7 15:41:52 MSK 2006
On Tue, 7 Mar 2006, Rommer wrote:
> Igor Sysoev wrote:
>> On Tue, 7 Mar 2006, Rommer wrote:
>>
>>> Igor Sysoev wrote:
>>>
>>>> On Mon, 6 Mar 2006 rommer at active.by wrote:
>>>>
>>>>>> Igor Sysoev wrote:
>>>>>>
>>>>>>> On Mon, 6 Mar 2006, Rommer wrote:
>>>>>>>
>>>>>>>> Почему, когда back-end выдает HTTP/1.0 401 Not Unauthorized nginx'у
>>>>>>>> nginx отдаёт клиету 502 Bad Gateway?
>>>>>>>>
>>>>>>>> Как можно заставить nginx нормально пропускать такие ответы?
>>>>>>>
>>>>>>>
>>>>>>> Должно работать. Нужен отладочный лог.
>>>>>>>
>>>>>>
>>>>>> Разобрался:
>>>>>> апач выдавал в строке "HTTP/1.1 401 Not ..."
>>>>>> не по одному пробелу, а по 2 справа и слева от 401:
>>>>>> HTTP/1.1__401__Status
>>>>>> В результате 502.
>>>>>>
>>>>>
>>>>> Кстати, можно сделать как-нибудь так, чтобы
>>>>> такие кривые ответы
>>>>> "HTTP/1.x CODE ..." от бэкэнда норманьно
>>>>> обрабатывались proxy-модулем nginx'а?
>>>>> Или это противоречит RFC? Браузеры (IE, Mozilla,
>>>>> Opera) их нормально распознают.
>>>>
>>>>
>>>> Насколько я понимаю, это противоречит RFC:
>>>>
>>>> http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1
>>>>
>>>> Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
>>>>
>>>> Хотя их несложно обработать.
>>
>>
>>> Сделайте пожалуйста такую обработку, все кривые сайты не профиксишь.
>>> Делать patch к nginx и постоянно его портировать под новые версии
>>> не очень удобно.
>>
>>
>> Прилагаемый патч должен решить эту проблему.
>>
>> ------------------------------------------------------------------------
>>
>> --- src/http/modules/ngx_http_proxy_module.c Mon Feb 6 22:45:08 2006
>> +++ src/http/modules/ngx_http_proxy_module.c Tue Mar 7 15:24:55 2006
>> @@ -961,6 +961,10 @@
>> /* HTTP status code */
>> case sw_status:
>> + if (ch == ' ') {
>> + break;
>> + }
>> +
>> if (ch < '0' || ch > '9') {
>> return NGX_HTTP_PROXY_PARSE_NO_HEADER;
>> }
>
> Спасибо.
> Этот патч будет включён в последующие версии nginx'а?
Да.
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list