Let's Encrypt: Fetching http://example.com/.well-known/acme-challenge/token: Timeout during connect (likely firewall problem)
The ACME validation server could not reach your server on port 80 within the timeout.
Timeout during connect (likely firewall problem)Fetching http://example.com/.well-known/acme-challenge: Timeout during connectConnection refused acme challengeFetching http://example.com/.well-known/acme-challenge/: Connection refusedTimeout after connect (your server may be slow or overloaded) Meaning
Let's Encrypt validates from several public IPs. The request must reach your web server on port 80 from anywhere. Open the firewall/security group, ensure the server or CDN accepts HTTP, check geo/IP blocking, and that DNS points to the right IP. Cloudflare "Always Use HTTPS" is fine, a blocking WAF rule is not.
Common causes
- Port 80 blocked by firewall/security group
- DNS points to a different IP
- Geo-blocking or WAF blocking validators
- Server behind NAT without port forward
- Web server stopped
⚡ Quick fix
- Open inbound TCP 80
- Verify
curl -I http://example.com/.well-known/acme-challenge/testfrom outside - Allow validator IPs or disable geo-blocks during issuance
Detailed fix by platform
Linux
sudo ss -ltnp | grep ':80 'andcurl -I http://example.com/.well-known/acme-challenge/testfrom another network
How to diagnose
- Port — 80 open externally?
- DNS — Points here?
- WAF — Blocking?
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
Most viewed in SSL / TLS
- NET::ERR_CERT_COMMON_NAME_INVALID NET::ERR_CERT_COMMON_NAME_INVALID: Your connection is not private (certificate is for a different domain)
- no start line OpenSSL: unable to load certificate / PEM routines:get_name:no start line (key values mismatch)
- Received fatal alert: handshake_failure Java: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
Other ways to find it
Where this error sits
Origin: Network. Errors that are often confused with or caused by this one (click to open):
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
💬 What worked for others
No tips yet — did something else fix this for you?
Share what worked for you
Tips are checked by an editor before they appear. Links are removed.
Report a correction or suggest an improvement
Last updated 4 Nov 2026