Proxy error handling
Igor Sysoev
is at rambler-co.ru
Thu Feb 28 16:36:13 MSK 2008
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
More information about the nginx-ru
mailing list