The website opens, but Let’s Encrypt reports an HTTP validation failure involving its IPv6 address. A documented incident shows this split between working IPv4 access and a broken published IPv6 endpoint. The software versions mentioned in that report do not establish a general Certbot defect. Q1
Why the browser is not a sufficient test
When both address families are published, Let’s Encrypt initially prefers IPv6. Falling back to IPv4 depends on the failure: receiving an incorrect HTTP response is not equivalent to a network timeout. Q2 Your useful comparison is therefore one hostname and one harmless challenge-path resource reached through each address family.
Make the difference observable
- Record the published addresses. Query A and AAAA for the exact requested hostname, including any redirect destinations. An obsolete IPv6 address may lead to a previous server or a router rather than the intended application host.
- Test from outside the local network. Use a network with working IPv6. Request a harmless test file in the intended challenge directory explicitly over IPv4 and then IPv6, keeping hostname, path and expected content the same. Limit the test to systems you administer.
- Classify the response. A timeout requires different investigation from a 404 response, a default virtual-host page or a login screen. Record the status, content and destination address. An open port alone does not establish correct challenge handling.
- Correlate server logs. Find both requests by timestamp. If only the IPv6 request is missing, examine routing, listeners and the relevant firewall rules. If it reaches the wrong virtual host, correct hostname selection rather than changing the certificate account.
- Follow the redirect chain. Check whether a second hostname or HTTPS destination introduces another incorrect IPv6 endpoint. Success at the first URL does not establish that the entire chain works.
Repair the intended service
If IPv6 is part of the service, repair that path, including challenge handling. If the address was published accidentally and no IPv6 service is intended, removing that specific record may be appropriate after checking dependencies and cache lifetimes. Treat this as a deliberate DNS change rather than a routine certificate workaround.
For handoff, keep both response results, DNS values, the test network, server version and timestamps. Once corrected, verify ordinary access and the validation path through every address family you continue to publish. A new controlled renewal test should confirm the actual intended configuration.
Frequently asked questions
Can I instruct Let’s Encrypt to prefer IPv4?
Its documented approach is to correct the published address information and validation endpoint, rather than select an address family in the certificate order. Q2
Should I always delete AAAA?
No. Repair an intentionally provided IPv6 service. Remove the record only when that publication is deliberately being withdrawn.
Prepare a findings note
Summarise your observations for your enquiry. The note is created in your browser and is not saved or sent here. You can then copy it into the contact form.
Unknown is fine. Do not enter passwords, customer data or complete confidential logs.
Support with this issue
We can investigate IPv6 routing, virtual-host selection and the certificate challenge.
