See exactly what your server sends, whether a strict client trusts it, what is missing and how to fix it — the same verdict a PylonMon monitor gives.

A browser that hits a certificate it cannot chain to a root will quietly fetch the missing intermediate itself
(AIA fetching). Go, curl on Linux, Python, Java, mail servers, monitoring agents, smart TVs and most phones will not:
they trust exactly what your server sends, and if the path stops one certificate short, the connection fails with
certificate signed by unknown authority or unable to get local issuer certificate. Your site looks fine
to you and is broken for a large share of real clients.
In 2026 this got common. Let’s Encrypt’s new roots (ISRG Root YE and Root YR, behind the YE1/YR1 intermediates) are not in most trust stores yet, so the default chain includes a third certificate: the new root cross-signed by ISRG Root X1. A server that only sends the leaf and the intermediate is exactly one certificate short.
ssl_certificate must point at fullchain.pem, not cert.pem. Then nginx -s reload.
Point SSLCertificateFile at fullchain.pem (Apache 2.4.8+); older versions need SSLCertificateChainFile.
Automatic ACME clients serve the full chain. If you copied files by hand, copy fullchain.pem. Certbot: --preferred-chain picks which chain you get.
Then run the check again. When the last certificate the server sends is issued by a root every client already trusts, the verdict turns green.
A chain that validates today breaks on the next renewal that copies the wrong file, the next CA root rotation, or the next intermediate reissue. A PylonMon SSL certificate monitor re-runs this exact check from outside your network three times a day, records days-to-expiry, and pages you when the chain stops validating — with the same explanation you see above, not a library error. Start free.