【发布时间】:2015-04-10 13:25:05
【问题描述】:
我正在尝试为我的瘦服务器 Web 应用启用 SSL,以便它可以通过 HTTPS 工作。
我做了以下事情:-
启动瘦 Web 服务器 MyApp.run! :host => '127.0.0.1', :port => 9090, :sslenable => true, :sslverifyclient => OpenSSL::SSL::VERIFY_NONE, :sslcertificate => '.ssl/server_key.pem', :sslprivatekey => '.ssl/key.pem'
我使用 Ruby 中的 openssl 模块生成了一个自签名证书和私钥,创建了一个名为 .ssl 的目录并将它们作为 pem 文件存储在那里。
我的网络应用程序使用的网络框架是 Sinatra。我也通过以下方式使用 rack-ssl gem..
myapp.rb
require 'rack/ssl'
class MyApp < Sinatra ::Base
use Rack::SSL
use Rack::Session::Cookie,
:key => '_rack_session',
:path => '/',
:expire_after => 2592000,
:secret => ''
...
end
当我转到 http://localhost:9090 时,我希望看到我的应用程序正常显示,但带有挂锁和交叉,因为任何 http 请求都被重定向到 https,并且我看到错误“网页不可用” .但是,当我删除 ssl-rack ruby gem 并重新启动我的应用程序并转到 https://localhost:9090,i 时,会收到带有以下详细信息的 ssl 连接错误:
无法与服务器建立安全连接。这可能是服务器的问题,或者可能需要您没有的客户端身份验证证书。 错误代码:ERR_SSL_PROTOCOL_ERROR
谁能告诉我如何最好地配置瘦服务器以启用 SSL?
【问题讨论】:
-
更新 - 嗨,我已经实现了这个解决方案并且它可以工作(ish),但仍然试图让它与 cert_chain_file(自签名证书)和 private_key_file(私钥)的路径一起工作。跨度>