Tailscale funnel works well but you can only have 1 per Tailscale instance (1 per machine) at the https endpoint so if you want to have a few apps, the others will go on non-https, custom-port URLs.
Here's `tailscale funnel status` on my machine:
$ tailscale funnel status
# Funnel on:
# - https://my-machine.tailXXXX.ts.net
https://my-machine.tailXXXX.ts.net (Funnel on)
|-- / proxy http://localhost:3000
|-- /foo proxy http://localhost:3001
|-- /bar proxy http://localhost:3002
|-- /baz proxy http://localhost:4004The CLI doesn't let you do as much as the go library does.