My domain is: test.compute.sta1.nscale.com (resolves to 193.143.78.6)
I ran this command (staging, succeeds)
lego --email=notifications@example.com --domains=test.compute.sta1.nscale.com --server https://acme-staging-v02.api.letsencrypt.org/directory --http.webroot /etc/letsencrypt/http-01 --accept-tos --http run
(note: notifications@example.com is a placeholder - redacted our real account email for this post)
Then, ~18 seconds later, the same command against production (fails)
lego --email=notifications@example.com --domains=test.compute.sta1.nscale.com --server https://acme-v02.api.letsencrypt.org/directory --http.webroot /etc/letsencrypt/http-01 --accept-tos --http run
It produced this output:
Staging: "The server validated our request" -> certificate issued successfully.
Production, immediately after, fails every time with:
acme: error: 400 :: urn:ietf:params:acme:error:connection :: 193.143.78.6: Fetching http://test.compute.sta1.nscale.com/.well-known/acme-challenge/[token]: Timeout during connect (likely firewall problem)
Two independent confirmed failures today (13 Aug), both UTC:
- 10:42:13-10:42:36, token eY8jBlRmqK2X-djbOLMpWo5E_C7SBcFXcCtXzDen28I
-
- 10:48:53-10:49:11, token HQrQFZ0NONJk0-sltgaq9hM2KNawm50htMsj059Tbis
My web server is: Apache, serving the webroot directly (nothing unusual in vhost/DocumentRoot config - confirmed by staging succeeding with the identical setup seconds earlier).
- 10:48:53-10:49:11, token HQrQFZ0NONJk0-sltgaq9hM2KNawm50htMsj059Tbis
The operating system my web server runs on is: Ubuntu 22.04 LTS (containerized ACME client via Docker).
My hosting provider, if applicable, is: self-hosted, private data center (OpenStack compute node), not a public cloud.
I can login to a root shell on my machine: yes.
I'm using a control panel to manage my site: no.
The version of my client is: lego (containerized).
Additional context, since this doesn't match a typical firewall-block pattern and we'd like to understand what's happening on your side specifically:
- The error carries no "During secondary validation:" prefix, so it appears to be the Primary validator itself timing out, not a secondary perspective.
-
- 193.143.78.6 is reachable from 25/25 diverse external check-host.net vantage points on TCP/80, and correctly serves a 404 for a bogus challenge token from 12/12 HTTP probes. It is not a general reachability problem.
-
- During the successful staging run seconds earlier, our perimeter firewall logged all 5 validator connections cleanly (allowed, clean TCP close): source IPs 13.213.78.76 (Singapore), 66.133.109.36, 3.148.226.41, 13.63.62.195 (Sweden), 54.201.8.134 (all US except noted). This is the reference signature for genuine validator traffic reaching us successfully.
-
- During both production failures, our firewall logs show zero connections from any of those IPs, or any other source, to port 80 on this address, in the exact failure windows. This isn't a case of "arrived and got blocked" - nothing arrives at all.
-
- We've directly ruled out, on our own infrastructure: geoblocking (no source-region restriction on the allow rule, no relevant deny rules above it), flood/connection-rate protection (thresholds orders of magnitude above this traffic volume), packet buffer protection (enabled, but zero related events logged in either failure window), and asymmetric-path session handling (deliberately disabled for a direct test - failure persisted identically).
-
- A live, fully-instrumented paired test (firewall logs, packet capture at our edge and at our host, tcpdump on the host) is planned to catch this happening again, but as of today it has not happened during an already-completed capture window - the failures happen in a matter of seconds and our capture point had to be relocated mid-test on one occasion.
Given the above, we're trying to understand whether this could be an issue on Let's Encrypt's Primary validator's own outbound path (e.g. a peering/interconnect issue with the network(s) upstream of us), similar to a pattern described in an older community thread (Timeout during connect (likely firewall problem)) where a carrier-level interconnect problem was suspected. If you're able to look up either of the two failed authorizations above and tell us what your validator observed on its end (e.g. no response to SYN, a response that never completed, or something else), that would help us rule our own infrastructure in or out conclusively. Happy to provide any further detail.
- A live, fully-instrumented paired test (firewall logs, packet capture at our edge and at our host, tcpdump on the host) is planned to catch this happening again, but as of today it has not happened during an already-completed capture window - the failures happen in a matter of seconds and our capture point had to be relocated mid-test on one occasion.