Mam aplikację Sinatra obsługiwaną przez Unicorn i nginx przed nią. Gdy błąd aplikacji Sinatra (zwraca 500), chciałbym obsłużyć stronę statyczną, a nie domyślny "Błąd wewnętrznego serwera". Mam następującą konfigurację: nginxnginx nie wyświetla mojej strony 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;
}
Dyrektywa error_page jest tam, a ja sudo'd jak www-data (Ubuntu) i zweryfikowane mogę cat
pliku, więc to nie jest problem pozwolenie. W powyższym pliku konfiguracyjnym i service nginx reload
strona, którą otrzymuję w wyniku błędu, wciąż jest tym samym "Błąd wewnętrznego serwera".
Jaki jest mój błąd?
Wiedziałem, że to kwestia RTFM. Dziękujemy za poświęcenie czasu, aby zapewnić doskonałą odpowiedź! –
Po prostu krótka notka do 4-letniej odpowiedzi - teraz 'proxy_intercept_errors' działa na błędy równe lub większe od 300. – Tisho