我正在开发一个 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% 确定,但我有与此相关的其他问题,我想知道这个错误是否与此有关
- 它在本地运行良好
提前致谢!