And you don't actually have to expose it to the internet to get a certificate, you only have to give it a public name.
Using a proper FQDN for each service only makes everything easier to maintain.
e.g. my company uses *.int.cuvva.co which all point to IPs in the 10.0.0.0/8 block, but we still have HTTPS certificates for all of those.
No, you just need to have a public DNS entry, no need for that service to be reachable from the internet.
foo.example.com can resolve to your private RFC1918 address, when you send the CSR to a CA, they'll verify your ownership of example.com.
You don't need to expose your server to the public internet to use let's encrypt. I use DNS authorization and it works perfectly.
I actually have all webservices in my home network secured by https, all you need to do is click a cheap vps, install nginx and tinc, and then proxy /.well-known/acme-challenge/ to your internal servers. Either setup domain or ip hijacking so the public IP is routed inside your lan. Done.
If I can do this for me and my cat in my spare time, you can do this for your university.
> need to expose critical internal services on the public internet, some of which contain private user data.
The heck? Are they aware of this? Might you get sued for this?