ruby-on-rails – 在docker下设置actioncable URL应该是什么?

在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的一个或两个实例只是不断重启.修复这将是一个奖金.

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

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