From 9a46c5763c5a9ddeb324d400cb6edbbbaed26221 Mon Sep 17 00:00:00 2001 From: nblock Date: Wed, 6 Nov 2024 15:59:38 +0100 Subject: [PATCH] Handle /derp/latency-check (#2227) According to https://github.com/tailscale/tailscale/commit/15fc6cd96637e8a0e697ff2157c1608ada8e4a39 the routes `/derp/probe` and `/derp/latency-check` are the same and different versions of the tailscale client use one or the other endpoint. Also handle /derp/latency-check Fixes: #2211 --- hscontrol/app.go | 1 + hscontrol/metrics.go | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/hscontrol/app.go b/hscontrol/app.go index 5c85b064..737e8098 100644 --- a/hscontrol/app.go +++ b/hscontrol/app.go @@ -460,6 +460,7 @@ func (h *Headscale) createRouter(grpcMux *grpcRuntime.ServeMux) *mux.Router { if h.cfg.DERP.ServerEnabled { router.HandleFunc("/derp", h.DERPServer.DERPHandler) router.HandleFunc("/derp/probe", derpServer.DERPProbeHandler) + router.HandleFunc("/derp/latency-check", derpServer.DERPProbeHandler) router.HandleFunc("/bootstrap-dns", derpServer.DERPBootstrapDNSHandler(h.DERPMap)) } diff --git a/hscontrol/metrics.go b/hscontrol/metrics.go index 0be59eec..cb01838c 100644 --- a/hscontrol/metrics.go +++ b/hscontrol/metrics.go @@ -78,7 +78,7 @@ func prometheusMiddleware(next http.Handler) http.Handler { // Ignore streaming and noise sessions // it has its own router further down. - if path == "/ts2021" || path == "/machine/map" || path == "/derp" || path == "/derp/probe" || path == "/bootstrap-dns" { + if path == "/ts2021" || path == "/machine/map" || path == "/derp" || path == "/derp/probe" || path == "/derp/latency-check" || path == "/bootstrap-dns" { next.ServeHTTP(w, r) return }