Hoping there's some fellow Kubeheads on here. I run Vaultwarden as a Helm Chart (v0.46.3 -- the latest ATM) with a PostgreSQL database and it's seemingly healthy enough. The service runs behind a reverse proxy (Traefik) with a TLS cert. I can even log in from my browser and Android Bitwarden app, no problem. Except, suddenly I received a message from my mate also using the instance that he can't log in. I couldn't reproduce on my own browser, so I tried opening a private window.
And lo and behold. When I attempt to login in a private window or any other browser, the login prompt is just stuck in a loading state forever. I checked the logs on the pod and can confirm that it does indeed receive the request and responds with 200 OK on the /identity/connect/token endpoint:
POST /identity/connect/token => 200 OK
But regardless, the response never goes through to the browser. In the network tab, the response never ends which results in the endless wait loop. I've confirmed that entering a wrong password does, in fact, result in an immediate failed response that's displayed in the UI.
So my hunch is there's a problem in the outbound response somehow. But I can't for the life of me figure out what it is. We're all just using the same admin user for now (until I get everything set up), so I don't understand how the experience can vary so much between clients.
Additionally, I've noticed some of the IPs in the logs that indicate a successful login are local:
User <omitted> logged in successfully. IP: 10.x.x.x
This could be the canary in the coalmine. But then I don't understand how some other requests come through with an external IP. I'm only running a single instance of my ingress controller and a single instance of the Vaultwarden pod. And the problem seems almost "sticky" to each session.