ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Proxy error handling



On Thu, Feb 28, 2008 at 04:22:08PM +0300, Igor Shergin wrote:

> Пытаюсь сделать на 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;

-            rewrite ^/test3(.*)$     /3.jpg;
-            rewrite ^/test2(.*)$     /2.jpg;
-            rewrite ^/test1(.*)$     /1.jpg;
-            return 200;

+            rewrite ^/test3(.*)$     /3.jpg  break;
+            rewrite ^/test2(.*)$     /2.jpg  break;
+            rewrite ^                /1.jpg  break;

>         }
> 
> }


-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.