以下是Nginx服务器配置示例。没有“魔术符”位置块,代理的错误内容将导致Nginx 404页面,而不是提供自定义的错误页面。
删除proxy_intercept_errors指令可为带有正确的http错误代码标头的正确的代理错误页面提供服务。
不管魔术护身符的存在如何,都能正确呈现非代理错误页面。
关于到底发生了什么的任何想法?
server {
server_name mydomain.com "";
listen 80;
root /var/www;
error_page 400 401 402 403 404 500 501 502 503 504 /admin/error_page.htm;
proxy_intercept_errors on;
location /proxy/ {
proxy_read_timeout 60s;
proxy_set_header Host $host;
proxy_pass http://myservers;
}
location /test404/ {
return 404;
}
location /admin/ { # this line constitute a magical talisman that fixes proxied error interception(???)(!)
rewrite ^(/admin)(.*)$ /admin$2 break;
}
}