If the server isn’t accessible from the internet then you can’t use discourse to get the certs. You’ll need to get them some other way, and get haproxy to handle the certs.
You’ll need to head to a haproxy site for info on how to do that.
On the discourse side, you’ll remove the ssl and let’s encrypt templates and make sure that you set force_https somewhere.