Nginx Passenger 5.1.11 错误:缺少必需的密钥“ust_router_address”

Nginx Passenger 5.1.11 错误:缺少必需的密钥“ust_router_address”

在为 Passenger-Enterprise 安装最新的稳定版本后,我的服务器遇到未知错误:

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它应该是由乘客自动设置的。

提前致谢。

答案1

我的声誉不够,无法对此发表评论。我已在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。

答案2

由于这是该问题在 Google 上的最热门搜索结果,如果你没有时间查看 Passenger 错误报告,解决方案是停止正在运行的 nginx/apache 服务,然后启动它。也就是说,不要简单地重新加载(这可能发生在你升级 Apache 时),而是确保旧服务完全消失,然后启动它:

例如sudo apache2ctl stop 然后 sudo apache2ctl start

(我在日志中看到的是版本 5.1.8,尽管升级到 5.1.11...这表明旧 Passenger 仍然存在)

答案3

经过进一步调查,并感谢乘客支持团队,我设法解决了这个问题。

最终有效的方法是更新nginx-extras到不依赖任何“union_station_”类型配置的最新版本。

apt-get update && apt-get install nginx-extras

希望这对遇到此问题的人有所帮助。

答案4

我遇到了相同或类似的问题,通过重新启动 apache2 解决了该问题。

相关内容