Due to having to expose local developments (in progress) publicly to interact with other third party services or to show them to other programmers I usually use ngrok in the free tier… Which is an absolute mess because it changes the URL on each command (nevertheless it works out of the box and very fast)…
I have also tried Localtunnel which it’s great but hangs a lot. Anybody knows any self-hosted solution that giving a domain of my own can I expose via tunnels in subdomains?
I did something similar in my homelab using frp and traefik. Traefik picks up configuration in its normal way and handles all inbound traffic, doing SSL termination locally even. frpc (client) sits next to Traefik, dials out to my frps (server) machines, and passes incoming connections to Traefik via the proxy protocol. I point my DNS at the frps machines in the cloud and they are configured to let the clients connect to them and take over basically any port they want.
I think there are ways to get frp to do basically exactly what you want, but I use it for a slightly different case.