From 0e3d1e1503af821ec93fc8c931bfc08798e9324c Mon Sep 17 00:00:00 2001 From: Manuel Zapf Date: Mon, 16 Apr 2018 11:06:03 +0200 Subject: [PATCH] fix: redirect to HTTPS first before basic auth if header redirect (secure) is set --- server/server.go | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/server/server.go b/server/server.go index 491e1cab0..8d95ed938 100644 --- a/server/server.go +++ b/server/server.go @@ -1174,6 +1174,16 @@ func (s *Server) loadConfig(configurations types.Configurations, globalConfigura } } + if headerMiddleware != nil { + log.Debugf("Adding header middleware for frontend %s", frontendName) + n.Use(s.tracingMiddleware.NewNegroniHandlerWrapper("Header", headerMiddleware, false)) + } + + if secureMiddleware != nil { + log.Debugf("Adding secure middleware for frontend %s", frontendName) + n.UseFunc(secureMiddleware.HandlerFuncWithNextForRequestOnly) + } + if len(frontend.BasicAuth) > 0 { users := types.Users{} for _, user := range frontend.BasicAuth { @@ -1192,16 +1202,6 @@ func (s *Server) loadConfig(configurations types.Configurations, globalConfigura } } - if headerMiddleware != nil { - log.Debugf("Adding header middleware for frontend %s", frontendName) - n.Use(s.tracingMiddleware.NewNegroniHandlerWrapper("Header", headerMiddleware, false)) - } - - if secureMiddleware != nil { - log.Debugf("Adding secure middleware for frontend %s", frontendName) - n.UseFunc(secureMiddleware.HandlerFuncWithNextForRequestOnly) - } - if config.Backends[frontend.Backend].Buffering != nil { bufferedLb, err := s.buildBufferingMiddleware(lb, config.Backends[frontend.Backend].Buffering)