`authMiddleware` builds `redirect_url` using `YOUR_HOST:3000` when NextJS runs inside Docker container
Shows how to fix `authMiddleware` builds `redirect_url` using `YOUR_HOST:3000` when NextJS runs inside Docker container. Use it when you hit this exact problem. Skip it when your error message or symptom looks different.
TL;DR
Fixed by contributor dimkl in @clerk/nextjs 4.21.11 and enabled by default in 4.23.0, so no environment variable is needed anymore (the earlier workaround was CLERKTRUSTHOST=true). Lesson: upgrade @clerk/nextjs to >= 4.23.0 when running behind Docker/reverse proxies.
Steps
- When Next.js runs inside a Docker container, authMiddleware builds redirecturl using YOURHOST:3000 instead of the container's actual host, breaking sign-in redirects.
When to use
Use this skill when you run into "authMiddleware builds redirect_url using YOUR_HOST:3000 when NextJS runs inside Docker container".
When not to use
If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.
Versions
Versions mentioned in the source: clerknextjs 4.21.11, 4.23.0. If you are on something much newer or older, the details may have shifted.
Why this happens
The original report does not dig into a root cause. It documents the symptom and the fix that resolved it.