I'm running a private CA for testing purposes. I have my root CA cert, an intermediate CA cert, and some server certificates. Clients have the root CA cert installed as trusted.
It's not clear to me if the server, let's say nginx but not necessarily, should return the complete certificate chain (server+intermediate+ca) or the certificate chain truncated to the certificate the client is supposed to already have (server+intermediate).
I ask because I see some clients trusting my server certificate (the truncated chain) and some no. Chromium-based browsers and Firefox accept it but more exotic clients like the VMware Remote Console complain with "incomplete chain" when the same truncated certificate chain is installed in VMware ESXi.
How is the certificate chain supposed to look like?