单个控制器的rails https路由会出错

时间:2015-10-27 06:06:22

标签: ruby-on-rails ruby-on-rails-4 ssl https runtime-error

我正在尝试保护单控制器操作。为此,我对路由resources :facilities, constraints: { :protocol => "https" }进行了更改,以使其成为https URL。但当我解除链接https://localhost:3000/facilities时,它会在浏览器上显示错误 - >

  

SSL连接错误

在终端上我可以看到像

这样的日志
  

[2015-10-27 11:34:00] ERROR错误请求行   \x16\x03\x01\x00�\x01\x00\x00�\x03\x03/däo,��\x1C�B\x02%>\x01�I*����p�O\e�\x00Z�\x17Q\x00\x00\x1A�+�/\x00��'. [2015-10-27 11:34:00] ERROR bad URIħ{\ x1F的\ X00 \ X00 \ X1A + / \ X00' 。   [2015-10-27 11:34:00]错误请求行错误   \x16\x03\x01\x00�\x01\x00\x00�\x03\x02��T�"�ptj"���1�ʗF�\x10�Զ�kK�℃\ X00 \ X00 \ x14V \ X00' 。   [2015-10-27 11:34:00]错误请求行错误   '\ X16 \ X03 \ X01 \ X00 \ X01 \ X00 \ X00 \ X03 \ X01 \ X10 \ x10YO \ x1F.5A \x0FhZ.Ë%ZL \ X06 ߪŤ\ X00 \ X00 \ x14V \ X00' 。

我不知道这有什么问题?或者我有什么遗失的东西?

1 个答案:

答案 0 :(得分:0)

问题是由config.force_ssl = true引起的。即使您删除了您可能不想要的内容,但WEBrick可能仍会遇到此错误。您可以尝试清除Cookie,但这仍然可能无效。

更好的选择,如果它是您的选择,那就是切换到使用瘦服务器:

group :development do
   gem "thin"
end

然后:

$ bundle
$ thin start --ssl

我在我的机器上尝试这个,它对我很好。希望这对你也有帮助。