Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rails app can't connect to private_pub on Vagrant

I have a rails app that uses private_pub. Somehow I can't get my app to connect to private_pub.

Is there a way to bind private_pub to 0.0.0.0?

Run rails server

vagrant@vagrant:/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

Start private_pub

vagrant@vagrant:/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 console log

http://localhost:9292/faye/faye.js net::ERR_EMPTY_RESPONSE
like image 667
steamboy Avatar asked Dec 03 '25 09:12

steamboy


1 Answers

Yes, there is a way, it's documented feature. From docs:

server: The URL to use for the Faye server such as http://localhost:9292/faye.

so you can configure your config/private_pub.yml for the environment you need like this:

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

Then start a server with:

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

I actually don't know why it doesn't catch the port number(I opened the issue in github), so I specified it explicitly.

Second option is to set a host for rackup command(since in this way it doesn't properly handle the address):

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

You can also specify explicitly both the address and the port for thin(as well as for rackup) and omit config file at all(probably not a good idea since there are secret_token and signature_expiration options in config file which should be set):

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
like image 90
Rustam A. Gasanov Avatar answered Dec 05 '25 01:12

Rustam A. Gasanov



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!