My socket app is running in DO managed k8s cluster, im getting “Session ID unknown” error on my frontend
-
socket app replica count: 2
-
I think, I have sticky session enabled but it might not be working properly and need help in that.
-
ingress annotations
annotations:
cert-manager.io/issuer: letsencrypt-nginx
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/affinity: "cookie"
nginx.ingress.kubernetes.io/session-cookie-name: "route" # Set the session cookie name
nginx.ingress.kubernetes.io/session-cookie-hash: "sha1"
nginx.ingress.kubernetes.io/session-cookie-expires: "172800" # 48 hrs.
nginx.ingress.kubernetes.io/session-cookie-max-age: "172800"
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
- frontend connection code
this.socket = io(base_url, {
// httpCompression: false,
auth: {
token: token
},
withCredentials: true
// transports: ['websocket'],
});
- socket server side code(also, im using postgres adapter to broadcast events)
// websocket server config
const server = createServer(app);
const io = new Server(server, {
// httpCompression: false,
transports: ["polling", "websocket"],
cors: {
origin: originList,
credentials: true,
methods: ["GET", "POST"],
},
});
any insight is greatly appreciated.
Tried the websocket transport too, but it switch to polling even after i enforce it(hope I did it correctly)
Anshul Sharma is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.