У меня есть приложение Sinatra, размещенное на Unicorn, а перед ним nginx. Когда если приложение Sinatra выдает ошибки (возвращает 500), я бы хотел обслуживать статическую страницу, а не стандартную «Внутреннюю ошибку сервера». У меня следующая конфигурация nginx:
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;
}
Директива error_page есть, и у меня есть sudo 'd как www-data (Ubuntu) и проверил, я могу cat
файл, таким образом, это не проблема с правами доступа. С указанным выше файлом конфигурации и service nginx reload
страница I получение при ошибке остается той же «Внутренняя ошибка сервера».
В чем моя ошибка?