Выпуск Phoenix EXRM Websockets не работает
Я пытался выпустить свое приложение с помощью 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
Это может быть что-то из-за некоторых пропущенных мной шагов или это проблема, связанная с Фениксом.
1 ответ
Кажется, что в prod.exs
файл конфигурации url
Параметр отвечает за фильтрацию подключений веб-сокетов, чтобы разрешить их только из домена. Из-за этого он разрешает только соединения с установленного URL, но не с любого другого, включая localhost.
Поэтому для тестирования выпусков локально должен быть задан URL:
url: [host: "127.0.0.1", port: 4001],