Ho un'applicazione Sinatra ospitata con Unicorn e nginx di fronte ad essa. Quando l'applicazione Sinatra commette errori (restituisce 500), vorrei pubblicare una pagina statica, piuttosto che l'errore "Errore interno del server". Ho la seguente configurazione nginx:nginx non serve la mia error_page
server {
listen 80 default;
server_name *.example.com;
root /home/deploy/www-frontend/current/public;
location/{
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_connect_timeout 5;
proxy_read_timeout 240;
proxy_pass http://127.0.0.1:4701/;
}
error_page 500 502 503 504 /50x.html;
}
La direttiva error_page è lì, e ho sudo'd come www-data (Ubuntu) e verificato posso cat
il file, quindi non è un problema di permessi. Con il file di configurazione sopra, e service nginx reload
, la pagina che ricevo per errore è sempre la stessa "Errore interno del server".
Qual è il mio errore?
Sapevo che era una questione di RTFM. Grazie per il tempo dedicato a fornire un'ottima risposta! –
Solo una breve nota per una risposta di 4 anni - ora 'proxy_intercept_errors' funziona per errori uguali o superiori a 300. – Tisho