You should have opened a new topic even if the symptoms are the same as the original poster of this topic. Then, fill up the questioner.
A well configured https website when connecting to via openssl looks the following:
CONNECTED(00000003)
depth=3 C = US, O = Internet Security Research Group, CN = ISRG Root X1
verify return:1
depth=2 C = US, O = ISRG, CN = Root YR
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = YR1
verify return:1
The HTTPS server sends only the first certificate from the certificate chain, not the whole chain. That is the problem.
I doubt very much that a program exists that would fix any kind of https server having that issue. That is why filling up the questioner is a good start.
The host on which you executed those commands, will be able to connect to the https server via openssl s_client (that is your own client host) with successfully verifying the HTTPS connection.
Hmmm... Now, I am confused too. I have not heard about any https server that dynamically constructs the certificate chain to send, from the local trust anchor store.
It happened once before several years ago, that's why I knew there is a set of commands that can fix the problem. If you ever find out why, please update here so that we all can learn from it. Got to run.
I moved your issue to its own thread. As noted earlier, the solution is not related to the thread you posted on. We like each unique problem to be its own so we can provide specific advice.
My fellow volunteers have explained the problem well. I am also surprised that modifying your CA Certificates trust store could affect what an nginx server sends out. Normally nginx only sends what is described by the ssl_certificate statement. In fact, I have never seen it do otherwise.
If you want a complete answer to your problem we'll need more info. Start by showing the nginx server block, describe the ACME Client you are using, and the o/s it runs on including the version.
We'd be happy to help you fix your server problem. Once we get more info we can proceed. You didn't fix it properly "several years ago" which is why it remains a problem today. And will be a problem in the future when Let's Encrypt next changes its chain.
The way to truly fix the problem is to instruct Nginx to serve the correct chain of certificates, and doesn't involve any mucking about with the OS's certificate trust store. Since you haven't said which client you're using to manage your certificates, we can't say for sure, but popular clients like certbot and acme.sh save a fullchain file, which consists of the cert sent by Let's Encrypt, combined with the intermediate chain also sent by Let's Encrypt. That's what you'd point to in your Nginx config as ssl_certificate.
I am not an NPM expert but does this directory exist? If so show ls -l for it. This should (might) have your nginx server config files so we can see what is actually happening
And what are the contents of fullchain.pem? And why is it dated Nov. 6? Either something's badly wrong with your server's clock (which would also cause the cert verification errors), you're serving a very old cert, or you're showing us a very old directory listing.