From 0e8ceea1d6f051c026a6210334cda2f5e29ebba4 Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Thu, 7 Dec 2017 22:25:05 +0000 Subject: [PATCH] plugin/proxy: skip hc for https_google (#1272) If protocol is https_google we do the health checks wrong, i.e. we're healthchecking the wrong endpoint, hence the health check code below should not be executed. See issue #1202. This is an ugly hack and the thing requires a rethink. Possibly in conjunction with moving to the *forward* plugin. --- plugin/proxy/proxy.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/plugin/proxy/proxy.go b/plugin/proxy/proxy.go index 476eddaff..c62e2aec3 100644 --- a/plugin/proxy/proxy.go +++ b/plugin/proxy/proxy.go @@ -120,6 +120,14 @@ func (p Proxy) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) ( } } + // If protocol is https_google we do the health checks wrong, i.e. we're healthchecking the wrong + // endpoint, hence the health check code below should not be executed. See issue #1202. + // This is an ugly hack and the thing requires a rethink. Possibly in conjunction with moving + // to the *forward* plugin. + if upstream.Exchanger().Protocol() == "https_google" { + continue + } + timeout := host.FailTimeout if timeout == 0 { timeout = defaultFailTimeout