Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Phoenix EXRM release Websockets not working

I've tried to release my application with EXRM. The whole app is working except for WebSockets which fail to start

This is the error in the browser (Chrome)

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

It seems that the variable token might be a problem. When starting with Mix phoenix.server it all works great. But released with commands:

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

Might it be something regarding some missed steps of me or is it Phoenix related issue.

like image 978
Krzysztof Wende Avatar asked Sep 15 '15 15:09

Krzysztof Wende


1 Answers

It seems that in prod.exs configuration file the url option is responsible for filtering the websocket connections to allow them only from the domain. Because of that it allows only connections from the set url, but not from any other including localhost.

So to test releases locally url has to be set to:

url: [host: "127.0.0.1", port: 4001],
like image 171
Krzysztof Wende Avatar answered Sep 21 '22 01:09

Krzysztof Wende