Sau đây là một cấu hình máy chủ Nginx mẫu. Nếu không có khối vị trí "bùa phép", nội dung lỗi được ủy nhiệm sẽ dẫn đến trang Nginx 404 thay vì trang lỗi tùy chỉnh được cung cấp.
Xóa chỉ thị proxy_intercept_errors phục vụ trang lỗi được ủy quyền thích hợp với các tiêu đề mã lỗi http thích hợp.
Các trang lỗi không được cung cấp được hiển thị đúng bất kể sự hiện diện của bùa phép.
Bất kỳ ý tưởng như chính xác những gì đang xảy ra?
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;
}
}