nginx-0.9.0

Maxim Dounin mdounin на mdounin.ru
Пн Ноя 29 19:43:45 MSK 2010


Hello!

On Mon, Nov 29, 2010 at 06:36:24PM +0300, Igor Sysoev wrote:

> Изменения в nginx 0.9.0                                           29.11.2010
> 
>     *) Добавление: директива keepalive_disable.
> 
>     *) Добавление: директива map поддерживает переменные в качестве 
>        значения определяемой переменной.
> 
>     *) Добавление: директива map поддерживает пустые строки в качестве 
>        значения первого параметра.
> 
>     *) Добавление: директива map поддерживает выражения в первом параметре.
> 
>     *) Добавление: страница руководства nginx(8).
>        Спасибо Сергею Осокину.
> 
>     *) Добавление: поддержка accept4() в Linux.
>        Спасибо Simon Liu.
> 
>     *) Изменение: устранение предупреждения линкера о "sys_errlist" и 
>        "sys_nerr" под Linux; предупреждение появилось в 0.8.35.
> 
>     *) Исправление: при использовании директивы auth_basic в рабочем 
>        процессе мог произойти segmentation fault.
>        Спасибо Михаилу Лалетину.
> 
>     *) Исправление: совместимость с модулем ngx_http_eval_module; ошибка 
>        появилась в 0.8.42.

Конструкция вида:

        location /return200text {
            return 200 "text";
        }

больше не работает - возвращает 200 с телом стандартной 404 
ошибки, и пишет в лог

2010/11/29 19:20:17 [error] 42785#0: *1 open() "/usr/home/mdounin/work/nginx-generic/debug-nginx-install/html/return200text" failed (2: No such file or directory), client: ::1, server: , request: "GET /return200text HTTP/1.0"

Аналогично 

        location /return404text {
            return 404 "text";
        }

возвращает 404 с телом стандартной ошибки.

Оба test case'а - из http://mdounin.ru/hg/nginx-tests/, rewrite.t.  

С остальными тестами там тоже не всё хорошо, но смотреть в деталях 
даже и не хочется.  Опять же, хорошо там никогда не было - см. 
патчи в nginx-devel at .

Аналогично, 

        location /return204 {
            return 204;
        }

пытается открывать файл /return204:

2010/11/29 19:28:30 [error] 43047#0: *1 open() "/usr/home/mdounin/work/nginx-generic/debug-nginx-install/html/return204" failed (2: No such file or directory), client: ::1, server: , request: "GET /return204 HTTP/1.0"

ответ при этом возвращает правильный, но это скорее случайность - 
ибо возможности что-либо послать у него нет из-за header_only.  
Поймано на сломавшихся тестах auth request - там обработчик 
post_subrequest зовётся два раза, первый с кодом 204, второй - 
404.

Maxim Dounin



Подробная информация о списке рассылки nginx-ru