Berikut ini adalah contoh konfigurasi server Nginx. Tanpa blok lokasi "jimat ajaib", konten kesalahan yang diproksi menghasilkan halaman Nginx 404 alih-alih halaman kesalahan khusus yang dilayani.
Menghapus direktif proxy_intercept_errors melayani halaman kesalahan proksi yang tepat dengan header kode kesalahan http yang tepat.
Halaman kesalahan yang tidak diproksikan ditampilkan dengan benar terlepas dari keberadaan jimat magis.
Adakah gagasan tentang apa yang sebenarnya terjadi?
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;
}
}