From e21feae56163217674c3406bcf7f724f48521d0f Mon Sep 17 00:00:00 2001 From: Emile Vauge Date: Thu, 13 Apr 2017 16:37:07 +0200 Subject: [PATCH] Fix too many redirect Signed-off-by: Emile Vauge --- server.go | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/server.go b/server.go index 6435333a8..5380c65a2 100644 --- a/server.go +++ b/server.go @@ -554,12 +554,10 @@ func (server *Server) buildEntryPoints(globalConfiguration GlobalConfiguration) func (server *Server) loadConfig(configurations configs, globalConfiguration GlobalConfiguration) (map[string]*serverEntryPoint, error) { serverEntryPoints := server.buildEntryPoints(globalConfiguration) redirectHandlers := make(map[string]negroni.Handler) - backends := map[string]http.Handler{} - backendsHealthcheck := map[string]*healthcheck.BackendHealthCheck{} - backend2FrontendMap := map[string]string{} + for _, configuration := range configurations { frontendNames := sortedFrontendNamesForConfig(configuration) frontend: @@ -611,7 +609,7 @@ func (server *Server) loadConfig(configurations configs, globalConfiguration Glo redirectHandlers[entryPointName] = handler } } - if backends[frontend.Backend] == nil { + if backends[entryPointName+frontend.Backend] == nil { log.Debugf("Creating backend %s", frontend.Backend) var lb http.Handler rr, _ := roundrobin.New(saveBackend) @@ -749,14 +747,14 @@ func (server *Server) loadConfig(configurations configs, globalConfiguration Glo } else { negroni.UseHandler(lb) } - backends[frontend.Backend] = negroni + backends[entryPointName+frontend.Backend] = negroni } else { log.Debugf("Reusing backend %s", frontend.Backend) } if frontend.Priority > 0 { newServerRoute.route.Priority(frontend.Priority) } - server.wireFrontendBackend(newServerRoute, backends[frontend.Backend]) + server.wireFrontendBackend(newServerRoute, backends[entryPointName+frontend.Backend]) err := newServerRoute.route.GetError() if err != nil {