Recursive Error Pages or how to try more than one location

Igor Sysoev igor at sysoev.ru
Tue Jun 22 11:02:51 MSD 2010


On Tue, Jun 22, 2010 at 08:57:15AM +0200, Elena Zwetkow wrote:

> 
> Hello list,
> 
> i have to store images on 3 servers. Image processing runs on all of the 3 servers and spreading the images over the 3 servers is a background task, so it takes some time the images are available on all 3 servers.
> 
> Nginx should try to fetch the image from an other server. But my configuration only works 1 level depth. Nginx never trys to fetch from location @s2 or @s3.
> 
> How can i configure nginx trying to find the image on all 3 server?
> 
> Any hints are welcome. 

You should add

         proxy_intercept_errors  off;

in @s2 and @s3.

However, there is a way to handle files in one location:

         proxy_next_upstream   ...  http_404  ...;

> Thanks
> 
> 
> server {
>   
>   listen 80;
>   root /var/www/nginx-default;
>   
>   recursive_error_pages on;
> 
>     location @s1 {
>         internal;
>         proxy_pass              http://192.168.0.10;
>         proxy_intercept_errors  off;
>         proxy_store             on;
>         proxy_store_access      user:rw  group:rw  all:rw;
>         proxy_temp_path         /var/www/nginx-default/tmp;
>         root                    /var/www/nginx-default;
>         recursive_error_pages   on;
>         error_page              404 502 = @s2;
>     }
>   
>     location @s2 {
>         internal;
>         proxy_pass              http://192.168.0.20;
>         proxy_store             on;
>         proxy_store_access      user:rw  group:rw  all:rw;
>         proxy_temp_path         /var/www/nginx-default/tmp;
>         root                    /var/www/nginx-default;
>         recursive_error_pages   on;
>         error_page              404 502 = @s3;
>     }
> 
>   
>     location @s3 {
>         internal;
>         proxy_pass              http://192.168.0.30;
>         proxy_store             on;
>         proxy_store_access      user:rw  group:rw  all:rw;
>         proxy_temp_path         /var/www/nginx-default/tmp;
>         root                    /var/www/nginx-default;
>         recursive_error_pages   on;
>         error_page              404 = /404.htm;
>     }
> 
>   
>     location ~* \.(jpg|jpeg)$ {
>         root                    /var/www/nginx-default;
>         error_page              404 = @node1;
>     }   
> }
> -- 
> GMX DSL: Internet-, Telefon- und Handy-Flat ab 19,99 EUR/mtl.  
> Bis zu 150 EUR Startguthaben inklusive! http://portal.gmx.net/de/go/dsl
> 
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://nginx.org/mailman/listinfo/nginx

-- 
Igor Sysoev
http://sysoev.ru/en/



More information about the nginx mailing list