【问题标题】:SSL Webrick on localhost not hosting ruby on rails app本地主机上的 SSL Webrick 没有在 Rails 应用程序上托管 ruby
【发布时间】:2015-10-16 04:05:30
【问题描述】:

如何让 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
- -> /

【问题讨论】:

    标签: ruby-on-rails ssl localhost webrick


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-14
      • 1970-01-01
      • 1970-01-01
      • 2012-08-04
      • 2017-08-06
      • 1970-01-01
      相关资源
      最近更新 更多