DNS A record is missing. Add it at your DNS provider (Route 53, DNSimple, Cloudflare, etc.) → stack IP from ownstack stacks.
dig +short example.com returns wrong IP
Old record. Update it; wait for TTL to expire (or flush local resolver).
Different resolvers return different answers
Propagation in flight. Most resolvers update within 5 minutes; cached negative answers can take longer. Check dig +short @1.1.1.1 example.com and @8.8.8.8 independently.
Domain attached to app, but stack returns 404
Run ssh dokku@<stack-ip> domains:report <app>. If the domain isn't listed, run ownstack app domains:add again — sometimes the sync fails silently.
SSL not issuing
Symptom
Cause
certs:report shows no Let's Encrypt cert
DNS hasn't propagated yet, or the domain isn't reachable from Let's Encrypt's HTTP-01 prober. Verify the domain resolves and port 80 is open from the public internet (some firewalls block it).
letsencrypt:list shows the app but no expiry
First-time issuance pending. Run ssh dokku@<stack-ip> letsencrypt:enable <app> to trigger.
too many failed authorizations from Let's Encrypt
You've hit Let's Encrypt's rate limit (5 failures per hostname per hour). Fix the underlying issue (DNS, port 80) and wait an hour.
Browser shows the stack's default cert (not your domain)
nginx still has the old vhost cached. ssh dokku@<stack-ip> nginx:build-config <app> + nginx:reload.
Wildcard certs (DNS-01 challenge)
HTTP-01 challenge can't issue wildcards — only DNS-01 can. Configure the dokku-letsencrypt plugin with a DNS provider hookup (the plugin supports many: Route 53, Cloudflare, DigitalOcean, etc.). See Wildcard certs.
Redirect loops
Symptom
Cause
Browser bounces between http:// and https:// forever
App is forcing HTTPS internally and a proxy is forcing HTTPS too. Check X-Forwarded-Proto handling — Rails: config.force_ssl = true + trust the proxy.
Browser shows ERR_TOO_MANY_REDIRECTS
nginx has both an HTTPS redirect and the app issues a 301. Pick one.
Diagnostic steps
Resolve the domain to the right IP:dig +short <domain>
Hit the IP directly with the right Host header:curl -k -H "Host: <domain>" https://<ip>/
Check nginx state on the stack:ssh dokku@<stack-ip> domains:report <app>