Welcome! Log In Create A New Profile

Advanced

X-Accel-Redirect на 404 после fallback

Nicholas Kostirya
March 19, 2013 01:08AM
Привет.

Есть такая конфигурация.

    location / {
        proxy_pass http://0:5000;
    }

    location = /404 {
        root /tmp/nginx;
        error_page 404 /404.html;
        return 404;
    }

    location ~* \.(html)$ {
        root /tmp/nginx;
        error_page 404 /404.html;
    }

Бекенд возвращает ответ с "X-Accel-Redirect: /404".
/404 каталога нет и срабатывает error_page 404 и возвращается /404.html страница с 404 HTTP статусом.

Теперь добавим впереди memcached:

    location / {
        set $memcached_key "test:$uri";
        memcached_pass unix:/tmp/memcached.sock;
        default_type text/html;
        error_page 404 = @fallback;
    }

    location @fallback {
        proxy_pass http://0:5000;
    }

    location = /404 {
        root /tmp/nginx;
        error_page 404 /404.html;
        return 404;
    }

    location ~* \.(html)$ {
        root /tmp/nginx;
        error_page 404 /404.html;
    }

И в такой конфигурации, когда бекенд возвращает ответ с "X-Accel-Redirect: /404",
то nginx отдает не /404.html страницу, а свою внутреннюю.

Если же делать сразу "X-Accel-Redirect: /404.html", то не будет 404 статуса.

Какое есть решение для этой ситуации?

Кстати, вызов memcached можно даже убрать, достаточно оставить цепочку из двух error_page.
Такое ощущение, что если в процессе обработки запроса использовался именованный локайшен, то уже не обычные возврата нет.



----------------------------------------------------------------------

----------------------------------------------------------------------
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

X-Accel-Redirect на 404 после fallback

Nicholas Kostirya March 19, 2013 01:08AM

Re: X-Accel-Redirect на 404 после fallback

Maxim Dounin March 19, 2013 09:26AM

Re[2]: X-Accel-Redirect на 404 после fallback

Nicholas Kostirya March 19, 2013 09:42AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 313
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready