Di seguito è riportato un esempio di configurazione del server Nginx. Senza il blocco di posizione "talismano magico", il contenuto di errore in proxy comporta la visualizzazione di una pagina Nginx 404 anziché della pagina di errore personalizzata.
La rimozione della direttiva proxy_intercept_errors serve una pagina di errore proxy corretta con le intestazioni corrette del codice di errore http.
Le pagine di errore non proxy vengono visualizzate correttamente indipendentemente dalla presenza del talismano magico.
Qualche idea su cosa stia succedendo esattamente?
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;
}
}