Exposing every app server directly means separate certificates, ports and entry points for each one. A reverse proxy like nginx gives clients one front door and forwards requests to the apps behind it. Use it to put two app servers behind one domain, or to run an app on 8080 without exposing that port. Get the headers and the proxy_pass trailing slash right, or the app sees wrong paths and the proxy's IP for every client.