簡體   English   中英

運行“ thin start”時未收到任何數據

[英]No data received when running “thin start”

我正在使用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 start --ssl”,因為我無法在“ rails s”命令中設置此ssl選項。

我找到了“未收到數據”的原因。 如果有人有相同的錯誤:

我運行了“ thin start --ssl”,因此我的服務器僅響應https requets。 所有的http請求都沒有得到回答,所以這就是為什么沒有數據(愚蠢的)的原因。 默認情況下,http請求轉到端口80,而https請求轉到端口443。

“ thin start --ssl”在本地調試ssl時效果很好,您可以通過在應用程序控制器中強制使用ssl來測試整個應用程序(這樣您就不會遇到相同的情況,沒有收到任何數據)。

一個更簡單(更真實)的解決方案是在rails應用程序前面運行Web服務器(如nginx)。 該Web服務器將偵聽http和https流量,然后將所有內容都傳遞到端口3000到Rails(瘦)服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM