http 401

Rommer rommer at active.by
Tue Mar 7 15:36:20 MSK 2006


Здравствуйте,

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 и постоянно его портировать под новые версии
>> не очень удобно.
> 
> 
> Прилагаемый патч должен решить эту проблему.
> 
> 
> Игорь Сысоев
> http://sysoev.ru
> 
> 
> ------------------------------------------------------------------------
> 
> --- 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'а?

-- 
С уважением,
Роман Шишнёв,
e-mail: mailto:rommer at active.by





More information about the nginx-ru mailing list