certbot renews the file but nginx serves the old certificate from memory until reloaded, so a disk-only check reports healthy while browsers get an expired certificate. Compare each lineage against what nginx serves over SNI on the loopback listener. The comparison is gated on the served certificate's SAN list covering the domain: nginx finishes the handshake with a fallback vhost certificate when SNI matches nothing, which would otherwise compare a lineage against an unrelated certificate and warn falsely.
4.9 KiB
4.9 KiB