我试图用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
可能是关于我错过了一些步骤的事情,还是凤凰相关问题。
答案 0 :(得分:6)
似乎在prod.exs
配置文件中url
选项负责过滤websocket连接以仅允许来自域。因此,它只允许来自set url的连接,但不允许来自任何其他的连接,包括localhost 。
因此,要在本地测试版本,必须将url设置为:
url: [host: "127.0.0.1", port: 4001],