У меня есть приложение 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
страница, которую я получаю при ошибке, по-прежнему остается такой же "Внутренняя ошибка сервера".
Какая моя ошибка?