I would like to be able to give people an URL and have them be able to access my service.
Example I have overseerr currently funneled so when the go to url pcname.tail$$$$$.ts.net they are greeted with overseerr. But if I funneled another service at pcname.tail$$$$$.ts.net/immich for example it does nothing just blank loading but the url knows it should be Immich or another service (I can put the url pcname.tail$$$$$.ts.net/immich in the immich app and have it work). I have tried reversing them so I believe I can not set paths after .net.
.
Am I doing something wrong or is this not supported?
Sorry. I just mean to ask if I can use tailscale and funnel multiple ports in order to give access to a couple different selfhosted applications. I am not sure what application routing is. I am still not sure I explaining it well enough.
It can be done but I’d advice to rather set up a reverse proxy and funnel that. Then set up your reverse proxy accordingly.
Issue with the funnel is that its reverse proxy is a bit limited in rewriting. So if your service has a native url of 127.0.0.1:8000/service1 then you serve it under /service1
If you have several services that expects to be served at root you might find it difficult to do this way. Some services might have “url/path” option in config for this purpose. In that case you enter the url you want to use for your service and it will behave.
Ok thanks I will check to see if they have a url/path option.
Do you have a suggestion on a service to set up my own reverse proxy?
I like caddy for flexibility and ease with handle_parh. I believe there was some example on the tailscale website for a tcp caddy proxy.
Some sites cant be rewritten and have to be served on their expected path. Like some http file will refer to a css or something with absolute path.
Also you can get chatgpt or similar help you and ask it to explain whats being done and why. Just be stern and let it know what you’re using for software + versions. They know a lot of old shit too these LLMs
Perhaps you can rewrite but that would have to include both ways + html source.
Best bet is serve at what path it prefers or can be configured to
Tailscale doesn’t work on a port by port basis, it works by tunneling traffic from one IP net segment to another. I’m not sure what specifically Tailscale has out in front to work as a proxy for your connection, but the transport itself isn’t blocking ports or anything.