【问题标题】:Filter chain halted as force SSL rendered or redirected过滤器链因强制 SSL 呈现或重定向而停止
【发布时间】:2015-06-30 22:52:31
【问题描述】:

所以我在生产中的应用程序已经完全崩溃了这条消息:

Filter chain halted as #<Proc:0x007f766547ea18@/app/vendor/bundle/ruby/2.1.0/gems/actionpack-4.1.1/lib/action_controller/metal/force_ssl.rb:65> rendered or redirected 

我在网上做了一些研究,到目前为止,这似乎主要发生在本地开发模式下,当端口丢失时。但我不确定为什么在我的 Heroku 应用程序中会发生这种情况......对于上下文,代码没有改变,截至 30 分钟前它工作正常。我正在使用 CloudFlare,但我检查了裸露的 your-app-name.herokuapp.com 也因相同的错误而损坏。

任何帮助表示赞赏!

【问题讨论】:

  • OK a heroku restart 解决了这个问题...但很想知道根本原因以防它再次发生...

标签: ruby-on-rails ruby-on-rails-4 ssl heroku procfile


【解决方案1】:

我在 rails 4.0 的开发环境中遇到了同样的错误(因为控制器上带有 force_ssl)。

我使用 支持 ssl 的瘦网络服务器解决了这个问题,如下所示:

  1. 将thin gem 添加到我的开发组Gemfile
    group :development do
      gem 'thin'
    end
  1. 在您的终端上运行捆绑安装:

    bundle install

  2. 从终端上的 ssl 支持开始精简:

    bundle exec thin start --ssl

  3. 在您的网络浏览器上通过 https 访问页面:

    协议需要以https开头,否则会得到空响应。 (ERR_EMPTY_RESPONSE)

    https://localhost:3000/

    如果您的连接被拒绝 (ERR_CONNECTION_REFUSED),您需要在服务器参数上定义环回 IP 地址:

    bundle exec thin start --ssl -a 127.0.0.1

  4. 您会收到隐私错误,只需点击 Advanced 并点击 Go to localhost (not safe)

抱歉,我的图片在 pt-br 中:

  1. 完成了!在开发模式下,您将在 localhost 上获得自签名 https 连接;)

【讨论】:

    猜你喜欢
    • 2016-02-25
    • 2017-02-11
    • 2018-10-08
    • 1970-01-01
    • 2012-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多