Rails 应用无法连接到 Vagrant 上的 private_pub
Rails app can't connect to private_pub on Vagrant
我有一个使用 private_pub 的 rails 应用程序。不知何故,我无法让我的应用程序连接到 private_pub。
有没有办法将 private_pub 绑定到 0.0.0.0?
运行 rails 服务器
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
开始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 控制台日志
http://localhost:9292/faye/faye.js net::ERR_EMPTY_RESPONSE
是的,有一个方法,它是记录在案的功能。来自文档:
server: The URL to use for the Faye server such as 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
其实我也不知道为什么抓不到端口号(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
)的地址和端口,并完全省略配置文件(可能不是一个好主意,因为有 [=配置文件中应设置的 18=] 和 signature_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
我有一个使用 private_pub 的 rails 应用程序。不知何故,我无法让我的应用程序连接到 private_pub。
有没有办法将 private_pub 绑定到 0.0.0.0?
运行 rails 服务器
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
开始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 控制台日志
http://localhost:9292/faye/faye.js net::ERR_EMPTY_RESPONSE
是的,有一个方法,它是记录在案的功能。来自文档:
server: The URL to use for the Faye server such as 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
其实我也不知道为什么抓不到端口号(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
)的地址和端口,并完全省略配置文件(可能不是一个好主意,因为有 [=配置文件中应设置的 18=] 和 signature_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