Phoenix EXRM发布Websockets无法正常工作

Krz*_*nde 5 elixir exrm phoenix-framework

我试图用EXRM发布我的应用程序.除了无法启动的WebSockets之外,整个应用程序正在运行

这是浏览器中的错误(Chrome)

与'ws:// localhost:4001/socket/websocket?token = undefined'的WebSocket连接失败:WebSocket握手期间出错:意外响应代码:403

似乎变量token可能是个问题.一开始Mix phoenix.server就一切顺利.但随着命令发布:

$ mix deps.get
$ mix compile
$ MIX_ENV=prod mix digest
$ MIX_ENV=prod mix release
$ ./rel/project/bin/project
Run Code Online (Sandbox Code Playgroud)

可能是关于我的一些错过的步骤或凤凰相关的问题.

Krz*_*nde 6

似乎在prod.exs配置文件中,该url选项负责过滤websocket连接以仅允许它们来自域.因为它只允许来自set url的连接,但不允许来自包括localhost在内的任何其他连接.

因此,要在本地测试版本,必须将url设置为:

url: [host: "127.0.0.1", port: 4001],
Run Code Online (Sandbox Code Playgroud)