Replies: 2 comments 6 replies
|
TSDProxy creates a Tailscale "machine" and requests a LE certificate for each proxied container. Each "machine" will have unique Tailscale hostname and Tailscale CGNAT IP address which are terminated by TSDProxy which forwards the required traffic to the appropriate docker container over the local docker internal network. Note that you don't need to request any tailscale certs - if TSDProxy is working properly it will request them on your behalf.
TSDProxy is resting to request the certificates from Lets Encrypte via Tailscale. It can't get the certificate if https isn't enabled for your tailnet in the Tailscale console. |

Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
The Start
As my quest to have TSDProxy working continues, I am now faced with HTTPS issues I would like to clarify (not What is HTTPS? but Why is HTTPS involved here?)
I started with one service (Jellyseerr) which I decorated with labels:
TSDProxy started, ultimately with an error message:
My first question was: why? What is trying to connect with what so that HTTPS is required?
Enabling HTTPS
I went to the admin panel as instructed, read about HTTPS support and from what I understand, Tailscale gives the ability to use LE certificates so that connecting to a HTTP endpoint on the Tailscale machine does not raise certificate warnings. Fair enough, this is a nice addition to the ones who would like that. It however requires each machine (in my case - each container) to run
tailscale certto initiate the LE certificate generation and to manage the continuous reissuing every 90 days.OK, but what does this have to do with TSDProxy? At what point TDSProxy even need to connect to the service with HTTPS? (when the service is HTTP). If I get it right, its only role (and a great, awesome one!) is to register the service in the tailnet and proxy (see last paragraph, though) - no need for HTTPS on the service for that.
I enabled certificates in the admin panel and the connection to the services (via the tailnet FQDN) fails with a timeout. Note that I have not yet issued
tailscale certso there is no LE certificate for this service, but I could expect a missing or incorrect cert, but not a timeoutFurther considerations
jellyseerris registered in tailnet with100.108.29.54.srv, my main server where docker runs is at100.79.183.102. So when typejellyseerr.funky-name.ts.netit is resolved to a CGNAT IP which actually points to ... I do not know to what. My Jellyseerr container has an internal docker IP and that's all.Sure, a proxy could forward the HTTP call to that IP but for that, it would need to be resolved to
jellyseerr.funky-name.ts.net(as this is the case with a normal edge router). But TSDProxy is a container onsrv...Unrelated note: I work in IT for 30 years (in cybersecurity and disruptive technologies) and I am always curious about new tech. TSDProxy is a tool that really, really triggered my curiosity because for the first time in quite a long time I cannot wrap my head around how it works :) Thanks @almeidapaulopt for that! 👍
All reactions