Rails 7:如何调试生产中的蓝屏错误(“我们很抱歉,但出了点问题。”)?

问题描述 投票:0回答:1

我正在使用 Dokku 在生产服务器上部署应用程序。在某些页面上,我的应用程序崩溃并出现蓝屏: enter image description here

我登录到服务器并运行

dokku log my-app-name
,希望能看到错误 - 但不幸的是,日志中没有错误。

然后我查看了

/var/log/nginx/my-app-name-error.log
- 也没有捕获到错误,只有错误发生之前的最后一个已知请求。另外,我再次查看了
/var/log/nginx.error.log
,没有错误。

我也集成了 Rollbar,但它也没有捕获任何错误。最后,我将

config.consider_all_requests_local
设置为
true
以在 Rails 应用程序中进行生产,但它也没有提供任何错误指示。

有什么建议我如何找到导致蓝屏的问题吗?

ruby-on-rails postgresql dokku
1个回答
0
投票

这可能与 BetterErrors 调试实时 shell 有关。默认情况下,它仅适用于本地主机,但如果您在容器中运行应用程序,则需要将本地网络堆栈列入白名单。

将以下内容放入您的

config/environments/development.rb

# Private subnets defined by RFC1918 as stated in https://docs.docker.com/v1.5/articles/networking/
BetterErrors::Middleware.allow_ip! '10.0.0.0/8'
BetterErrors::Middleware.allow_ip! '172.24.0.1/12'
BetterErrors::Middleware.allow_ip! '172.16.0.0/12'
BetterErrors::Middleware.allow_ip! '192.168.0.0/16'
© www.soinside.com 2019 - 2024. All rights reserved.