So I’ve got a couple of services that I access using mydomain.org:1234 for example, but since Nextcloud runs its own web server it’s hosted on mydomain.org/nextcloud.
How do I set up my services so I can access them from a friendly URI like Nextcloud instead of ports?
Setup a reverse proxy and configure it to redirect yourdomain.org/nextcloud (or nextcloud.yourdomain.org) to a custom port that you’re now running Nextcloud on. Then configure some-random-service which you want at yourdomain.org/some-random-service to redirect to port 1234 and so on.
This means all incoming connections on port 80 and 443 now will be handled by your reverse proxy and depending on the requested URL, the reverse proxy will fetch the desired website contents from the origin web server. I personally use nginx but there exists other good reverse proxies you can use.