gpt4 book ai didi

ruby-on-rails - Rails 生产模式 : SSL received a record that exceeded the maximum permissible length

转载 作者:行者123 更新时间:2023-12-04 22:48:50 24 4
gpt4 key购买 nike

嗨,我不确定这是否应该发生,但是当我执行 RAILS_ENV=production rails server 时在我的终端中,然后尝试运行 localhost:3000 它给了我一个错误:

Secure Connection Failed

An error occurred during a connection to localhost:3000.

SSL received a record that exceeded the maximum permissible length.

(Error code: ssl_error_rx_record_too_long)

我在某处读到这可能是因为我的网址是 https://localhost:3000/而不是 http://localhost:3000/ http 后面的“S”?但我无法更改它,因为它会自动转到 https。

这是正常的吗?我试图在生产中运行它的原因是因为当我尝试将我的应用程序部署到 heroku 时出现错误(问题在这里问: Rails + Heroku : ActionView::Template::Error)所以我认为它可以帮助我调试。

最佳答案

使用 rails server 运行时尝试通过 SSL 访问 Rails 时出现此错误是正常的。 , 除非你破解默认 rails server支持 SSL 的脚本。你可以看到this blog post如何做到这一点。也就是说,我建议您不要在本地机器上通过 SSL 访问您的应用程序。

在运行生产环境时,您的 Rails 应用程序中可能有一个重定向到 SSL 的配置。尝试暂时注释掉该配置,以便您可以在生产中运行而无需在本地计算机上配置 SSL。

在 production.rb 中查找:

config.force_ssl = true

或者,在 application_controller.rb(或任何其他 Controller )中查找:
force_ssl

注意:它们具有相同的名称,但在引擎盖下它们的工作方式非常不同。

或者,您可以通过除 rails server 之外的其他 Web 服务器在本地计算机上运行 Rails。 ,但这超出了本问题的范围,您仍然需要对其进行配置以支持 SSL。就我个人而言,我在我的本地机器上安装了 nginx(带有 unicorn ),并使用自签名 SSL 证书,这样我就可以轻松地在我的应用程序中测试与 SSL 相关的行为。

此外,除了在本地机器上在生产环境中运行应用程序之外,您可能会考虑其他调试应用程序的方法,但具体如何执行取决于您尝试调试的错误的性质。

关于ruby-on-rails - Rails 生产模式 : SSL received a record that exceeded the maximum permissible length,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13126781/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com