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)