For some reason my phoenix channels are working for me in my local dev environment, but as soon as I deploy via Docker, I get a 403 error:
WebSocket connection to 'wss://web.my-app.convox/socket/websocket?userToken=726&vsn=1.0.0' failed: Error during WebSocket handshake: Unexpected response code: 403
I have also tried ws:// instead of wss:// and got the same result.
I used to have BasicAuth running in my app, but I have removed it.
My user_socket.ex file is as follows:
defmodule MyAppWeb.UserSocket do
channel "vw:*", MyAppWeb.VowpalWabbitChannel
transport :websocket, Phoenix.Transports.WebSocket, check_origin: false
def connect(_params, socket) do
def id(_socket) do
What can i do to connect to my websocket in a non-dev environment?
Yep, i missed that in your earlier message. Those are the only places you’d need to set it AFAIK. If its still an issue you’ll probably want to try to create a minimal reproduction repo and post a link here or ask on the slack phoenix channel.
Looking at your error, if you’re getting a 403 it may also be your authentication mechanism. Have you got any plugs like guardian that might be returning the 403 before your socket authenticates? You said earlier that you’d removed the Basic auth, so if that’s your only authentication you probably shouldn’t be getting a 403.