0

我正在开发一个 Ruby on Rails 应用程序,该应用程序使用 gem Private Pub ( https://github.com/ryanb/private_pub ) 具有实时聊天消息功能

该应用程序托管在 Digital Ocean 中,并且聊天消息已经正常工作了很长时间。但是,大约 1 个半月前它停止工作,我在控制台上收到一条错误消息:GET https://fake-url.com:9292/faye/faye.js net::ERR_CONNECTION_REFUSED

我做的第一件事是使用以下命令重新启动 Faye 服务器: bundle exec thin -C /data/app/shared/config/private_pub_thin.yml -d -P /data/app/shared/tmp/pids/faye.pid - -ssl-disable-verify start(我通过 Capistrano 运行此命令)

运行该命令后,我检查了 /data/app/shared/tmp/pids 文件夹并确认 faye.pid 在那里,因此进程似乎正在运行

然后我跑了 sudo lsof -i -P -n | grep LISTEN 检查开放端口并列出 9292 端口

之后我重新加载了聊天并再次收到 net::ERR_CONNECTION_REFUSED 错误

然后我再次检查了端口,端口 9292 没有出现在列表中

所以似乎每次我加载页面时它都会关闭端口或类似的东西。

笔记:

  • 未启用ufw
  • 我们有一个登台服务器,我们有同样的问题。唯一不同的是,在暂存端口 9292 始终出现在开放端口列表中。但是,它会抛出 net::ERR_CONNECTION_REFUSED
  • 我认为这个错误是在旧的 Let's Encrypt 根证书过期后开始发生的(https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021)我对此不是 100% 确定,但我有与此相关的其他问题,我想知道这个错误是否与此有关
  • 它在本地运行良好

提前致谢!

4

1 回答 1

0

我最终删除了 Private Pub gem 并使用 Pusher 来获取实时更新。Pusher 真的很容易使用。谢谢你们!

于 2021-12-29T14:21:50.800 回答