我的 nginx 配置中有这段代码
server {
server_name example.org;
listen 80;
listen [::]:80 ;
root /var/www/;
index index.html index.htm index.nginx-debian.html index.php;
location / {
proxy_pass http://198.25.34.19;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_bind $server_addr;
proxy_buffering off;
}
}
上面的代码可以正常工作!但如果文件不存在,则重定向不起作用。
我该如何修复这个问题?如果文件在当前服务器上不存在,我想重定向。
谢谢。
答案1
如果您想在反向代理中处理 404 响应,则需要拦截它们。请参阅这个文件了解详情。
例如:
location / {
proxy_pass http://...;
...
proxy_intercept_errors on;
error_page 404 =302 /some/other/page;
}