Изменение страницы ошибки пассажира по умолчанию для Nginx - PullRequest
6 голосов
/ 01 декабря 2011

В настоящее время, если возникает проблема с запуском приложения Rails на нашем сервере, пользователи переходят на страницу ошибок Пассажира с ошибкой типа «Не удалось запустить приложение Ruby (Rack)».

Возможно линастроить эту страницу ошибок и отобразить что-то еще, чтобы пользователи живого сайта не видели этого?

Я использую nginx для сервера.

Спасибо

Ответы [ 2 ]

9 голосов
/ 01 декабря 2011

Руководство пользователя содержит полезную информацию о различных параметрах конфигурации.Существует опция для отключения дружественных страниц с ошибками , что, как я думаю, вы можете видеть.

Чтобы отключить сообщение об ошибке запуска, укажите следующую строку в файле конфигурации:

passenger_friendly_error_pages off

Вы можете разместить это внутри блока http, блока сервера или блока местоположения.Если вы поместите его в блок http, он по умолчанию отключит его для всех виртуальных хостов на этом сервере.Однако вы можете переопределить настройку в блоке сервера, поместив эту же опцию в блок http.

4 голосов
/ 01 апреля 2017

При тестировании Passenger 5.1 я обнаружил, что настройки passenger_friendly_error_pages off недостаточно для изменения страницы ошибки по умолчанию. Это отключает выставление обратной трассировки или переменных среды, но все равно показывает страницу ошибки Пассажира.

Чтобы решить эту проблему, я должен был установить следующее:

passenger_intercept_errors on;
error_page 500 /500.html;

Команда passenger_intercept_errors указывает nginx обрабатывать коды состояния 400 или выше. Команда error_page настраивает ошибку. Возможно, вы захотите настроить и другие ошибки.

Для приложения Rails расположение страниц указывается относительно папки public приложения (которую вы указали в команде root для nginx).

Как уже упоминалось, этот комментарий , аналогичная конфигурация для Apache:

PassengerErrorOverride on
ErrorDocument 500 /path/to/500.html
...