繁体   English   中英

本地主机上的SSL Webrick未在Rails应用程序上托管ruby

[英]SSL Webrick on localhost not hosting ruby on rails app

如何使Ruby On Rails Webrick可以在本地主机上使用自签名SSL证书来测试https? 基本上,Ived遵循此处完成的工作:将WEBrick配置为使用自动生成的自签名SSL / HTTPS证书

并生成如下所示的脚本:

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
- -> /

您的服务器返回404的原因是因为您设置的脚本仅用于空的WEBrick服务器。 它实际上并没有挂载您的Rails应用程序。 您链接到的线程似乎正在使用该脚本,作为对SSL功能的最小测试。 使WEBrick与SSL配合使用的完整答案似乎在这里得到回答: 如何配置WEBrick在Rails中使用SSL?

但是,我不建议您打扰。 WEBrick严格意义上来说是仅用于开发的服务器,不适合在生产环境中使用(这就是为什么很难让它执行诸如使用SSL之类的事情)。 相反,要么将nginx设置为应用程序的SSL服务代理,要么使用如Thin一样轻松支持SSL的服务器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM