SSL webrick on localhost没有在rails app上托管ruby

时间:2015-07-25 15:43:13

标签: ruby-on-rails ssl localhost webrick

如何使用Ruby On Rails Webrick在localhost上使用自签名SSL证书来测试https? 基本上,Ived遵循了这里所做的工作: Configure WEBrick to use automatically generated self-signed SSL/HTTPS certificate

生成如下脚本:

require 'webrick'
require 'webrick/https'

cert_name = [
  %w[CN localhost],
]

server = WEBrick::HTTPServer.new(:Port => 8000,
                                 :SSLEnable => true,
                                 :SSLCertName => cert_name)


# Shutdown gracefully on signal interrupt CTRL-C
# http://www.ruby-doc.org/core-2.1.1/Kernel.html#method-i-trap
trap('INT') { server.shutdown }

server.start

当我试图访问https://localhost:8000/时,它确实警告过信任,但只是继续前进,而我没有任何事情发生但是这一点。顺便说一句,https工作正常,似乎它没有得到正确的SSL路线。

Not Found

`/' not found.
WEBrick/1.3.1 (Ruby/2.1.2/2014-05-08) OpenSSL/1.0.2 at localhost:8000

控制台打印出来:

[2015-07-25 23:38:25] INFO  WEBrick::HTTPServer#start: pid=6765 port=8000
[2015-07-25 23:38:32] ERROR `/' not found.
localhost - - [25/Jul/2015:23:38:32 MYT] "GET / HTTP/1.1" 404 284
- -> /

1 个答案:

答案 0 :(得分:1)

您的服务器返回404的原因是您设置的脚本仅用于空WEBrick服务器;它实际上并没有安装你的Rails应用程序。您链接到的线程似乎只是使用该脚本作为SSL功能的最小测试。让WEBrick与SSL协同工作的完整答案可以在这里得到解答:How do you configure WEBrick to use SSL in Rails?

但是,我不建议你打扰。 WEBrick严格意味着只是一个开发服务器,并不适合在生产中使用(这就是为什么很难让它做像使用SSL这样的事情)。相反,要么设置nginx as a SSL-serving proxy to your app,要么使用支持SSL的服务器,例如thin does