Proxy error handling

Igor Shergin igor at shergin.ru
Thu Feb 28 16:22:08 MSK 2008


Здравствуйте, коллеги.

Пытаюсь сделать на 0.5.35 виртуальный хост с такой логикой:
- если бекенд вернул полезное содержимое, проксировать его;
- если бекенд вернул 404-ю ошибку, выдавать вместо неё локальное содержимое
в зависимости от URL.

Результат - "подвисание" клиентского запроса в случае 404 ошибки.
Подскажите, пожалуйста, балбесу, что не так?

server {

        listen 80;
        server_name proxytest;
        access_log "/var/log/nginx/proxytest_log";
        error_log "/var/log/nginx/proxytest_error";

        location / {
            proxy_intercept_errors on;
            proxy_pass http://backend;
            error_page 404 = @nopic;
        }

        location @nopic {
           root /home/proxytest;
           rewrite ^/test3(.*)$     /3.jpg;
           rewrite ^/test2(.*)$     /2.jpg;
           rewrite ^/test1(.*)$     /1.jpg;
           return 200;
        }

}

Спасибо.

--
Igor Shergin


More information about the nginx-ru mailing list