Ошибка пассажира Nginx 5.1.11: отсутствует требуемый ключ 'ust_router_address'
После установки последней стабильной версии для пассажира-предприятия мой сервер столкнулся с неизвестной ошибкой:
Required key 'ust_router_address' is missing (-1: Unknown error)
Эффект на сервере был неожиданным: приложения запускались (и команда nginx restart возвращала ok), но пользователи получали "403 Forbidden". Глядя на журнал, оказалось, что мой пользователь не смог получить доступ к корневой папке приложения (/var/www/../public), несмотря на правильные (и без изменений! Разрешения).
Я связался со службой поддержки, но пока ничего не сказал, и в качестве временного решения я вернулся к предыдущей версии (через sudo apt-get install passenger-enterprise=1:5.1.8-2~trusty1
и перезапуск nginx), который работает без проблем.
Любое понимание высоко ценится, когда я смотрю на документ ust_router_address
должен быть установлен пассажиром автоматически.
Заранее спасибо.
4 ответа
У меня не было достаточно репутации, чтобы сделать это комментарий. Я создал проблему на https://github.com/phusion/passenger/issues/2000
Я также столкнулся с этой ошибкой, используя
libapache2-mod-passenger 1:5.1.11-1~trusty1 amd64
passenger 1:5.1.11-1~trusty1 amd64
Сбой при постепенном перезапуске (во время ротации журнала) со следующей ошибкой
[Thu Nov 02 06:28:28.257749 2017] [passenger:error] [pid 1916:tid 140125707691904] *** Passenger could not be initialized because of this error: Required key 'ust_router_address' is missing
После перезапуска он вернулся без проблем, никаких конфигов не было изменено. Мы даже не используем Union Station.
После дополнительных расследований и благодаря команде поддержки пассажиров мне удалось решить эту проблему.
Что в конечном итоге сработало, так это обновить nginx-extras
до последней версии, которая не полагалась на какой-либо тип конфигурации 'union_station_'.
apt-get update && apt-get install nginx-extras
Надеюсь, это поможет всем, кто придет.
Поскольку этот вопрос является самым популярным в Google по этому вопросу, и если у вас нет времени, чтобы просмотреть отчет об ошибках в Passenger, решение - ОСТАНОВИТЬ запущенную службу nginx/apache, а затем ЗАПУСТИТЬ ее. т.е. не просто выполнить перезагрузку (что, вероятно, произошло, когда вы обновили Apache), но убедитесь, что старый сервис полностью исчез, затем запустите его:
например sudo apache2ctl stop
затем sudo apache2ctl start
(Я видел версию 5.1.8 в журнале, хотя обновление привело меня к 5.1.11 ... это ключ к разгадке старого Пассажира)
У меня была такая же или похожая проблема, которую я решил, перезапустив apache2.