【问题标题】:Rack error - RuntimeError: failed to get urandom in a Rails app (Rails 5.0.6, Ruby 2.5.5)机架错误 - RuntimeError: failed to get urandom in a Rails app (Rails 5.0.6, Ruby 2.5.5)
【发布时间】:2020-05-10 10:13:31
【问题描述】:

我正在向本地运行的 Rails 5.0(.6) 应用程序发出大量 API 请求。它与 Rack 错误不一致地失败: RuntimeError: failed to get urandom

回溯到 SecureRandom 模块,而不是在应用程序中(特别是 uuid 方法)。从那里它在 ActionDispatch::RequestId 中。不幸的是,完整的回溯从我的终端历史记录中消失了,并且没有显示在日志中(因为它发生在 Rails 之外)。

从许多有效的请求以及它在不同地方失败的事实来看,我猜这是由于某些本地系统限制。

【问题讨论】:

    标签: ruby-on-rails runtime-error rack


    【解决方案1】:

    在尝试了几个不同的修复后,我最终发现问题在于我的打开文件限制。要检查它,请在终端中运行 ulimit -n。我的设置为 256。

    我按照本文中的说明进行操作: https://wilsonmar.github.io/maximum-limits/

    具体说明从“Sierra 和较新版本”标题开始,然后转到“他们的权限需要是“-rw-r–r–”,由 sudo chmod 644 设置。”在#5下。添加文件并更改所有权和权限后,我重新启动,现在打开文件限制为 524288。

    我现在对快速 API 调用没有其他问题了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-07
      • 2022-12-15
      • 1970-01-01
      • 1970-01-01
      • 2021-06-19
      • 2020-12-11
      • 2022-01-23
      相关资源
      最近更新 更多