5

我尝试使用 EXRM 发布我的应用程序。整个应用程序都在工作,除了无法启动的 WebSockets

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

WebSocket 连接到“ws://localhost:4001/socket/websocket?token=undefined”失败: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

可能与我错过的一些步骤有关,还是与凤凰城相关的问题。

4

1 回答 1

7

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

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

url: [host: "127.0.0.1", port: 4001],
于 2015-09-15T15:29:18.617 回答