Hi @transocean
Thank you, these logs are very useful. Good news first: your login is not failing.
Look at this line:
api-moduled[3750]: [GIN] 2026/07/30 - 10:49:28 | 200 | 16.52s | POST "/api/login"
The backend answers 200. The credentials are correct. But it takes 16.5 seconds.
Now look at traefik:
traefik[2795]: "POST /users-admin/ad.xxxxx-online.com/api/login HTTP/2.0" 499 ... 4930ms
499 means the client closed the connection. Your browser gave up after ~5 seconds. The UI then shows the generic error message you see in the screenshot. So this is a timeout, not a wrong password.
Where do the 16 seconds go? Two things stand out.
First, ldapproxy. The connection opens at 08:49:12 and closes at 08:49:28:
client disconnected, bytes from/to client:797/222427, bytes from/to upstream:222427/797
That is 222 KB coming back from your AD for a 797 byte request. The login seems to trigger a very large LDAP search. This would also explain why your OpenLDAP server is not affected.
Second, Kerberos. The first pre-authentication fails, then a retry succeeds 2 seconds later:
08:49:16 ENC-TS Pre-authentication ... status [NT_STATUS_PROTOCOL_UNREACHABLE]
08:49:18 ENC-TS Pre-authentication ... status [NT_STATUS_OK]
This usually points to a UDP retry or a DNS timeout towards the KDC. It costs 2 seconds on every login.
Could you please check three things?
- Confirm the latency outside the browser:
curl -k -s -o /dev/null -w '%{http_code} %{time_total}\n' \
-X POST https://<your-fqdn>/users-admin/ad.xxxxx-online.com/api/login \
-H 'Content-Type: application/json' \
-d '{"username":"user","password":"secret"}'
I expect a 200 after ~16 seconds.
-
How many users and groups do you have in this AD domain? The 222 KB suggests a fairly large directory.
-
The DNS configuration seen by the container:
runagent -m samba1 podman exec samba-dc cat /etc/resolv.conf
Also tell me if you have a DNS forwarder that is unreachable. That would match the Kerberos error.
I will look at what changed in api-moduled between 3.19.x and 3.20.1 on my side.
Thanks for your patience.