Your nginx server is still using the longer chain. From a cert issued Feb1
None of your clients should have been disconnected from the Feb8 change as you won't be given the shorter chain until your next cert renewal.
What ACME Client are you using to get your certs? If it supports selecting the alternate chain you should do that for any renewals before Jun6 and then do a renewal just before Jun6 (you may have to force it once to make it happen early).
Yes we're fully aware of that. We encourage our customers to update ASAP, and will trigger deliberate roll-forwards to the short ISRG Root chain periodically to catch those who fail to update.
Hopefully they'll do that within two months, as I would not recommend hardcoding the long chain between 2024-06-06 and 2024-09-30. While certainly possible, it would probably require some scripting and you'd need to make sure the hardcoded long chain will be replaced by the short chain before 2024-09-30, which would probably require second manual step.
What would be the best way to test clients against the short chain?
I can see that Chain of Trust - Let's Encrypt has test websites with the valid/expired/revoked certificates.
I am using this openssl command with the old ca.pem against the "valid" website, and it succeeds:
I am expecting it to fail, but it succeeds. What do I miss?
Is valid-isrgrootx1.letsencrypt.org signed with a long or short chain?
What's the right way to test clients against the short chain?
Please remove the latter part (after the pipe) and check the output. I'm getting a "Verification error: unable to get local issuer certificate" warning in between all the other output. OpenSSL will simply continue despite the error, but piping the output to the second openssl command "eats" all those previous outputs, including the error.
The s_client application is more for debugging than anything else, so it'll continue no matter what.
The CA bundle you referenced includes ISRG Root X1, so that will validate fine. Path validation very much depends on the operating system and the software libraries being used so really to tell if something will validate you need to test on the client device. e.g. Old android tolerates the expired DST Root CA X3 just fine (even though it expired years ago), but Windows most definitely does not.