使用Ruby/Puma的本地SSL

wes*_*bos 6 ruby ssl https sinatra puma

我正在运行本地puma服务器,我无法在SSL下加载资源.

我有一个本地签名证书.

我正在尝试使用以下配置运行服务器:

puma -b 'ssl://127.0.0.1:9292?key=/path/to/certs/localhost.unecrypted.key&cert=/path/to/certs/localhost.crt'
Run Code Online (Sandbox Code Playgroud)

现在,当我访问https://localhost:9292https://127.0.0.1:9292浏览器只是旋转,并没有来自服务器的响应.没有资源返回.它曾两次向我展示HTML标题标签,但几乎总是我什么都没得到.

任何的想法?其他想法?真的需要在本地运行这个应用程序的https版本,我无法弄清楚如何做到这一点.

编辑:记录初始请求,但没有响应:

127.0.0.1 - - [04/Sep/2013 11:29:15] "GET / HTTP/1.1" 200 1265 0.0397
Run Code Online (Sandbox Code Playgroud)

有时候我会收到这个错误:

013-09-04 11:30:20 -0400: Read error: #<Errno::EPIPE: Broken pipe>
/Users/wesbos/.rvm/gems/ruby-1.9.3-p429@sinatra/gems/puma-2.3.2/lib/puma/minissl.rb:56:in `write'
/Users/wesbos/.rvm/gems/ruby-1.9.3-p429@sinatra/gems/puma-2.3.2/lib/puma/minissl.rb:56:in `write'
/Users/wesbos/.rvm/gems/ruby-1.9.3-p429@sinatra/gems/puma-2.3.2/lib/puma/server.rb:635:in `fast_write'
/Users/wesbos/.rvm/gems/ruby-1.9.3-p429@sinatra/gems/puma-2.3.2/lib/puma/server.rb:484:in `handle_request'
/Users/wesbos/.rvm/gems/ruby-1.9.3-p429@sinatra/gems/puma-2.3.2/lib/puma/server.rb:248:in `process_client'
/Users/wesbos/.rvm/gems/ruby-1.9.3-p429@sinatra/gems/puma-2.3.2/lib/puma/server.rb:147:in `block in run'
/Users/wesbos/.rvm/gems/ruby-1.9.3-p429@sinatra/gems/puma-2.3.2/lib/puma/thread_pool.rb:92:in `call'
/Users/wesbos/.rvm/gems/ruby-1.9.3-p429@sinatra/gems/puma-2.3.2/lib/puma/thread_pool.rb:92:in `block in spawn_thread'
Run Code Online (Sandbox Code Playgroud)

wes*_*bos 1

事实证明 Puma 目前在 SSL 方面存在问题:

https://github.com/puma/puma/issues/350

恢复到版本 1.6.3 为我解决了这个问题