2015-11-07 35 views
3

我有一個使用private_pub的rails應用程序。不知何故,我無法讓我的應用程序連接到private_pub。Rails應用程序無法連接到Vagrant上的private_pub

有沒有辦法將private_pub綁定到0.0.0.0?

運行Rails服務器

[email protected]:/vagrant$ rails s -b 0.0.0.0 
=> Booting Thin 
=> Rails 4.2.2 application starting in development on http://0.0.0.0:3000 
=> Run `rails server -h` for more startup options 
=> Ctrl-C to shutdown server 
Thin web server (v1.6.2 codename Doc Brown) 
Maximum connections set to 1024 
Listening on 0.0.0.0:3000, CTRL+C to stop 

開始private_pub

[email protected]:/vagrant$ rackup private_pub.ru -s thin -E production 
Thin web server (v1.6.2 codename Doc Brown) 
Maximum connections set to 1024 
Listening on localhost:9292, CTRL+C to stop 

Chrome的控制檯日誌

http://localhost:9292/faye/faye.js net::ERR_EMPTY_RESPONSE 

回答

2

是的,有一種方法,它是記錄的功能。來自文檔:

服務器:用於Faye服務器的URL,例如http://localhost:9292/faye

,所以你可以配置你的config/private_pub.yml的環境,你需要這樣的:

development: 
    server: "http://0.0.0.0:9292/faye" 
    secret_token: "secret" 

然後啓動了服務器:

thin -C config/private_pub.yml -p 9292 start 
Using rack adapter 
Thin web server (v1.6.4 codename Gob Bluth) 
Maximum connections set to 1024 
Listening on 0.0.0.0:9292, CTRL+C to stop 

其實我不知道爲什麼它不」 t捕獲端口號(I opened the issue in github),所以我明確指定了它。

第二個選項是設置主機rackup命令(因爲這種方式不能正確處理的地址):

rackup private_pub.ru -s thin -E production -o 0.0.0.0 
Thin web server (v1.6.4 codename Gob Bluth) 
Maximum connections set to 1024 
Listening on 0.0.0.0:9292, CTRL+C to sto 

您也可以明確指定的地址和端口爲thin(以及爲rackup),並在所有省略的配置文件(可能不是一個好主意,因爲有在配置文件中secret_tokensignature_expiration選項應設置):

thin -a 0.0.0.0 -p 9292 start 
Using rack adapter 
Thin web server (v1.6.4 codename Gob Bluth) 
Maximum connections set to 1024 
Listening on 0.0.0.0:9292, CTRL+C to stop 
+0

剛剛經歷THI運行再來一次。以上由@rustam提供的細節工作得很好。但是我在瀏覽器控制檯上遇到了拒絕連接的錯誤。修復此問題 1.在您的Vagrant conf上設置專用網絡IP 2.在private_pub.rb上,在服務器配置中使用專用網絡ip – steamboy

相關問題