【问题标题】:passenger 5.1.11 update, node socket.io error乘客 5.1.11 更新,节点 socket.io 错误
【发布时间】:2017-10-26 17:19:36
【问题描述】:

从乘客 1:5.1.5-1~jessie1 更新到这个新版本后。我们在浏览器中收到以下错误:

加载失败 https://aaa.bbb.com/socket.io/?hash=1735f35ec0ad4e4d91618861288467ed&EIO=3&transport=polling&t=LzIr1i8: 请求中不存在“Access-Control-Allow-Origin”标头 资源。因此不允许使用原点“https://aaa.bbb.com” 使用权。响应的 HTTP 状态代码为 404。

nginx错误日志:

2017/10/25 11:42:24 [错误] 638#638: *20 找不到“/export/home/aaa.bbb.com/public/socket.io/index.html” (2:没有这个文件或目录),客户端:111.111.111.111,服务器: aaa.bbb.com,请求:“获取 /socket.io/?hash=1735f35ec0ad4e4d91618861288467ed&EIO=3&transport=polling&t=LzIwLNC HTTP/1.1”,主机:“aaa.bbb.com”,推荐人: "https://ccc.bbb.com/mmmm/zzzz/"

如您所见,我们使用的是 socket.io (1.5.1)。我们的 socket.io 服务器上安装了 node.js (v6.11.5) 和乘客 (5.1.11)。

我们以前从未设置过原点。 web服务器和socket服务器都在同一个域,只是不同的子域。

但可能 nginx 日志中的错误才是真正的问题。

编辑

我已将客户端和服务器端的 socket.io 更新到 2.0.4 版。但我仍然遇到同样的错误

编辑 2

乘客在启动时发生了碰撞。可能是权限问题。

2017/10/25 16:15:59 [info] 315#315: 使用 32768KiB 共享内存 对于 /etc/nginx/nginx.conf:84 中的 nchan [N 2017-10-25 16:15:59.9486 612/T1 age/Wat/WatchdogMain.cpp:1267 ]:启动乘客看门狗... [ E 2017-10-25 16:15:59.9993 617/T1 年龄/Sha/Fun/Initialization.cpp:569 ]: * 错误:无法打开 /var/log/nginx/error.log 进行写入: 权限被拒绝 (errno=13) 在'Passenger::VariantMap Passenger::Agent::Fundamentals::initializeAgent(int, char*, const char*,Passenger::Agent::Fundamentals::OptionParserFunc, 乘客::Agent::Fundamentals::PreinitializationFunc, int)' (初始化.cpp:538)

2017/10/25 16:15:59 [警报] 609#609: 无法启动 Phusion 乘客看门狗,因为它在运行期间遇到了以下错误 启动:无法启动Passenger核心:它似乎已经崩溃 在启动期间由于未知原因,退出代码为 1(-1:未知 错误)

【问题讨论】:

  • 请包含您的 nginx 配置和更多日志,尤其是在乘客启动时。

标签: node.js nginx socket.io passenger


【解决方案1】:

在更新之前,我将passenger_user_switching 设置为关闭。这使得乘客进程自动运行为nobody:noboby

passenger_user_switching off;

更新后,我明确地将乘客用户和乘客组设置为nobody:noboby(默认乘客用户切换开启)

# passenger_user_switching off;
passenger_user nobody;
passenger_group nobody;

【讨论】:

猜你喜欢
  • 2014-09-22
  • 1970-01-01
  • 2015-01-31
  • 2015-04-09
  • 2020-04-27
  • 2015-02-02
  • 2020-03-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多