在docker下将actioncable URL设置为什么?

时间:2016-11-22 17:54:40

标签: ruby-on-rails docker docker-compose actioncable

在Docker下使用带有Actioncable的Rails时,应该将动作电缆URL设置为什么?

通常它就像

config.action_cable.url = "ws://localhost:3000/cable"

但这并不奏效。我尝试了一些排列,但我得到的只是

Started GET "/cable" for 172.18.0.6 at 2016-11-22 17:49:37 +0000
Started GET "/cable/"[non-WebSocket] for 172.18.0.6 at 2016-11-22 17:49:37 +0000
Failed to upgrade to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: close, HTTP_UPGRADE: )
Finished "/cable/"[non-WebSocket] for 172.18.0.6 at 2016-11-22 17:49:37 +0000

My docker-compose.yml file is here。我尝试过使用单独的有线电视图像(已注释掉)而没有任何运气。到目前为止我还没有得到,应用程序图像和电缆图像似乎发生了冲突,并且puma的一个或两个实例都在不断重启。修复这将是一个奖励。

1 个答案:

答案 0 :(得分:2)

如果在单独的容器中将actioncable作为独立服务器运行,则必须为开发环境设置允许的请求来源:

config.action_cable.url = "ws://localhost:28080"
config.action_cable.allowed_request_origins = %r{http://localhost.*}