nginx代理和404重定向
问题描述:
嗨我想配置我的nginx服务器代理亚马逊S3,并做类似mod_rewrite在Apache - 如果代理亚马逊是404(文件不存在亚马逊),然后将我重定向到我的本地文件。这可能吗?nginx代理和404重定向
这是我nginx的配置文件:
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;
}
}
谁能帮助我?
答
添加
proxy_intercept_errors on;
到location /photos
。然后,即使404错误来自上游服务器,您的error_page 404 /myerrorfile.jpg
也能正常工作。
THX !! :)它是完美的作品:) –