From 52d73790639f35b223b8aec76e6daea5e98a5d87 Mon Sep 17 00:00:00 2001 From: "Eric R. Monson" Date: Fri, 11 Mar 2016 22:37:54 -0800 Subject: [PATCH] Play nice when ACME used manually. Minor change to server/server.go such that /.well-known/acme-challenge can be passed through when TLS.Manual is true on the vhost the request came in through. --- server/server.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/server/server.go b/server/server.go index d687b837..d0985351 100644 --- a/server/server.go +++ b/server/server.go @@ -296,11 +296,6 @@ func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) { w.Header().Set("Server", "Caddy") - // Execute the optional request callback if it exists - if s.ReqCallback != nil && s.ReqCallback(w, r) { - return - } - host, _, err := net.SplitHostPort(r.Host) if err != nil { host = r.Host // oh well @@ -315,6 +310,11 @@ func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) { } } + // Execute the optional request callback if it exists and it's not disabled + if s.ReqCallback != nil && !s.vhosts[host].config.TLS.Manual && s.ReqCallback(w, r) { + return + } + if vh, ok := s.vhosts[host]; ok { status, _ := vh.stack.ServeHTTP(w, r)