2011-11-26 23 views
5

Ciao Vorrei configurare il mio server nginx per il proxy per Amazon S3 e fare qualcosa come mod_rewrite in apache - se il proxy per amazon è 404 (il file non esiste su Amazon) quindi reindirmi al mio locale file. È possibile farlo?proxy nginx e reindirizzamento 404

Questo è il mio nginx file di configurazione:

upstream app{ 
server 127.0.0.1:3000; 
} 

server { 
    listen 0.0.0.0:80; 
    server_name www.mypage.com mypage.com; 
    access_log /var/log/nginx/mypagecom.log; 

    location /photos{ 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header Host $http_host; 
    proxy_set_header X-NginX-Proxy true; 
    proxy_pass http://amazons3.mypage.com/photos; 
    proxy_redirect off; 
    error_page 404 /myerrorfile.jpg; 
    } 
    location/{ 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header Host $http_host; 
    proxy_set_header X-NginX-Proxy true; 

    proxy_pass http://app; 
    proxy_redirect off; 
    } 


} 

Qualcuno mi può aiutare?

risposta

8

Aggiungi

proxy_intercept_errors on; 

al location /photos. Quindi il tuo error_page 404 /myerrorfile.jpg funzionerà anche quando l'errore 404 proviene dal server upstream.

+0

THX !! :) Funziona perfettamente :) –