Phoenix EXRM 发布 Websockets 不工作

Phoenix EXRM release Websockets not working

我已经尝试使用 EXRM 发布我的应用程序。除了无法启动的 WebSockets 之外,整个应用程序都在运行

这是浏览器的错误(Chrome)

WebSocket connection to 'ws://localhost:4001/socket/websocket?token=undefined' failed: Error during WebSocket handshake: Unexpected response code: 403

看来变量token可能有问题。 当从 Mix phoenix.server 开始时,一切都很好。但是用命令发布:

$ mix deps.get
$ mix compile
$ MIX_ENV=prod mix digest
$ MIX_ENV=prod mix release
$ ./rel/project/bin/project

可能是我漏掉了一些步骤,或者是 Phoenix 相关的问题。

似乎在 prod.exs 配置文件中,url 选项负责过滤 websocket 连接以仅允许来自域的连接。因此它只允许来自集合 url 的连接,但不允许来自任何其他 包括本地主机 .

的连接

所以要在本地测试版本 url 必须设置为:

url: [host: "127.0.0.1", port: 4001],