There's already a service that supports this general concept called NGrok ( https://ngrok.com/ ).
They support plaintext tunnels for free, and encrypted tunnels starting at eight dollars a month.
I cam across the service when learning how to accept incoming traffic on kubernetes.