首先,感谢提供这段出色的代码。
其次,我已竭尽全力寻找答案:通过谷歌搜索、折腾 git、bundle 和 rail 命令,但均无果。
第三,我知道我的情况可能不在官方支持范围内;但我相信/期待/希望这里会有好心人能够帮助我这个可怜的人。(实际上,我或许愿意付费,但由于预算限制——毕竟我在这个项目上的所有工作都是自愿的——最多只能请喝一杯啤酒。)
从 2.4 升级到 2.5 beta 后,我发现自己无法登录(这是一个非标准环境,可能稍后会兼作几个插件的开发环境,但目前仅用于生产环境)。
由于我的主机不支持 Docker,这次安装是像开发环境那样进行的。我一直在调试一些插件,并根据自身需求进行调整;我既不是计算机科学家也不是工程师,但经常需要“黑客式”地折腾,甚至考虑创建一两个插件。解决这个问题后,我可能会更有信心尝试创建插件。
我找到的唯一可能与该问题相关的消息位于 log/production.log 中:
DEBUG -- : Delivering backlog [#<struct MessageBus::Message global_id=-1, message_id=-1, channel="/__status", data={"/new"=>1, "/latest"=>2, "/delete"=>0, "/recover"=>0, "/global/asset-version"=>1, "/site/banner"=>0, "/file-change"=>0, "/logout"=>2, "/site/read-only"=>0}>] to client c3817627e7564d7d952f062752b9bf03 for user
更多信息:
- 操作系统:Debian Buster,运行在一家低价公司提供的 VPS 上(不支持 Docker);
- NGINX 1.13.5
- Redis 5.0.3
- Ruby:2.6
- 我使用的是 rbenv;
- 一切运行正常,直到最近升级到 2.4.x beta(由于不太确定,暂且说是 2.4.0);升级到测试通过的 2.5.x 后,我的环境就出问题了;
- 使用 puma 4.3.2 在生产环境中运行;
- 网站可以正常加载,我能正确查看所有公开内容;
- 尝试使用所有之前配置的登录方式:密码、SSO(Google/Facebook)、邮箱;
- 在尝试调试此问题时,我发现我的 Nginx 配置可能过于陈旧,于是根据 github/discourse 官方示例配置 进行了更新。
前端表现是:尝试登录时没有报错,但会被重定向回初始的未登录状态。