From 781012517d55ab096a4e77215bcb8da6de9ed5fa Mon Sep 17 00:00:00 2001 From: kannappanr <30541348+kannappanr@users.noreply.github.com> Date: Mon, 29 Apr 2019 09:33:27 -0700 Subject: [PATCH] Fix: Handle regression caused by gorilla mux v1.7.0 (#7595) gorilla/mux#383 broke the compatibility with the existing code. This PR handles that scenario. --- cmd/api-router.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/cmd/api-router.go b/cmd/api-router.go index 90485b433..59e05909e 100644 --- a/cmd/api-router.go +++ b/cmd/api-router.go @@ -17,6 +17,7 @@ package cmd import ( + "net" "net/http" "github.com/gorilla/mux" @@ -45,7 +46,13 @@ func registerAPIRouter(router *mux.Router, encryptionEnabled bool) { apiRouter := router.PathPrefix("/").Subrouter() var routers []*mux.Router for _, domainName := range globalDomainNames { - routers = append(routers, apiRouter.Host("{bucket:.+}."+domainName).Subrouter()) + var hostPort string + if globalMinioPort != "443" && globalMinioPort != "80" { + hostPort = net.JoinHostPort(domainName, globalMinioPort) + } else { + hostPort = domainName + } + routers = append(routers, apiRouter.Host("{bucket:.+}."+hostPort).Subrouter()) } routers = append(routers, apiRouter.PathPrefix("/{bucket}").Subrouter())