Someone here brought up that they were able to replace Cloudflare Tunnels with Tailscale - I can’t seem to find the post, as it was a comment and deeply buried in a thread I’ve since forgotten the title of. :)
Can anyone explain the process for doing this? I assume it’s through the use of their Funnel? I have three primary services I require to be accessible through Authentik (that’s one of them) via my domain name.
lemmyvore@feddit.nl 11 months ago
Is there a reason to expose your services to the whole internet? That’s what CF tunnels and Tailscale Funnel do.
I can’t really recommend either of them, Funnel forces you to use a .ts.net subdomain you can’t use your own domain. CF allows it but forces you to use their DNS service. Both CF and Tailscale play MITM with your HTTPS connection, meaning they decrypt and reencrypt it on the fly, meaning they are able to look at your unencrypted traffic.
If you really must expose your services publicly then get a cheap VPS, point your domain
A
andAAAA
records at its public IPs, make a clear TCP tunnel from your server to the VPS, and forward connections to port 443 on the VPS public interface through the tunnel to the reverse HTTP proxy running on your server (with mandatory TLS encryption and Let’s Encrypt certificates for your domain).This way you get an unbroken TLS connection all the way through, with nobody in the middle.
The tunnel that you use between your server and the VPS can work behind CGNAT because it’s outgoing, and it doesn’t necessarily need to be encrypted because it will only carry TLS connections anyway. Will be easier on the VPS CPU this way, too.
Auli@lemmy.ca 11 months ago
According to tailscale they do not decrypt just relay.
zzzz@lemmy.world 11 months ago
Also, you can host your own server: headscale.net
ck_@discuss.tchncs.de 11 months ago
That’s not correct, tailscale does not intercept the traffic, TLS is terminated on the node. Tailscale mandates HTTPS / TLS with ts.net certificates so it can route traffic to the correct node in your tailnet.
lemmyvore@feddit.nl 11 months ago
There’s still going to be a gap where traffic is unencrypted and under their software’s control. The gap takes place on your node rather then one of their servers but it still exists. You can’t avoid the TLS gap when you switch domain names mid-connection.
Whether having the gap on their node rather than on Tailscale’s server is more acceptable is up to OP to decide; but they have to understand that the gap exists. The solution I proposed doesn’t have a TLS gap.
garibaldi@startrek.website 11 months ago
Rather than a cheap VPS, what about hosting a reverse proxy on fly.io, something like this? github.com/AnimMouse/frp-flyapp
hempster@lemm.ee 11 months ago
Should I install a reverse proxy on the VPS and link services on the local server, or should I install it directly on the local server?
lemmyvore@feddit.nl 11 months ago
Services and reverse proxy on your server. Tunnel host on the VPS.