如何使用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
- -> /
答案 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。