3

我有一个使用 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
4

1 回答 1

2

是的,有一种方法,它是记录在案的功能。来自文档:

server:用于 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

我实际上不知道为什么它没有捕获端口号(我在 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(以及 for 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
于 2015-11-10T23:04:35.887 回答