我使用的是ruby 1.9.3和rvm。我想运行一个带有--ssl选项的瘦服务器。我在一些答案中看到,运行"thin start --ssl“应该可以做到这一点。但是在我的开发环境中,当我运行瘦启动--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),但thin正在正常工作。我想运行第一个版本"thin start -- ssl“,因为我不能在"rails s”命令中设置这个ssl选项。
发布于 2013-03-25 21:41:10
我找到了“没有收到数据”的原因。如果任何人有相同的错误:
我运行了"thin start --ssl“,这样我的服务器将只响应https请求。所有的http请求都没有得到响应,这就是为什么没有数据(愚蠢)的原因。默认情况下,http请求发送到端口80,而https请求发送到端口443。
"thin start -- ssl“适用于本地调试ssl,您可以通过在应用程序控制器中强制使用ssl来测试整个应用程序(这样您就不会发现自己处于同样的情况,没有收到数据)。
发布于 2013-03-23 01:56:09
一个更简单(也更真实)的解决方案是在你的rails应用程序前面运行一个web服务器(比如nginx)。此web服务器将监听http和https流量,然后将所有内容通过端口3000传递到Rails (瘦)服务器。
https://stackoverflow.com/questions/15572871
复制相似问题