运行“瘦启动”时没有收到数据

时间:2013-03-22 14:29:16

标签: ruby-on-rails ssl thin

我正在使用ruby 1.9.3和rvm。我想用--ssl选项运行瘦服务器。我在一些答案中读到,运行“thin start --ssl”应该可以解决问题。 但是在我的开发环境中,当我运行瘦启动时 - 终端运行:

Using rack adapter
Thin web server (v1.5.1 codename Straight Razor)
Maximum connections set to 1024
Listening on 0.0.0.0:3000, CTRL+C to stop
And in my web-browser in localhost:3000:

No data received
Unable to load the webpage because the server sent no data.
Here are some suggestions:
Reload this webpage later.
Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without sending any data.

当我使用“rails s thin”运行相同的命令时,它会工作,但是有一个不同的消息:

Booting Thin
Rails 3.2.11 application starting in development on http:// 0. 0. 0 .0 :3000
Call with -d to detach
Ctrl-C to shutdown server

我不知道为什么会发生这种情况(可能是因为rvm),但是瘦的工作正在顺利进行。我想运行第一个vertion“thin start --ssl”因为我无法在“rails s”命令中设置这个ssl选项。

2 个答案:

答案 0 :(得分:1)

我找到了“没有收到数据”的原因。如果有人有同样的错误:

我运行了“瘦启动--ssl”,因此我的服务器只响应https requets。所有的http请求都没有得到回答,所以这就是为什么没有数据(愚蠢)。默认情况下,http请求转到端口80,而https请求转到端口443。

“thin start --ssl”适用于在本地调试ssl,您可以通过在应用程序控制器中强制ssl来测试整个应用程序(因此您没有发现自己处于相同的情况,没有收到数据)。 / p>

答案 1 :(得分:0)

更简单(也更真实)的解决方案是在rails应用程序前运行Web服务器(如nginx)。此Web服务器将侦听http和https流量,然后将所有内容传递到端口3000到Rails(瘦)服务器。