diff --git a/cmd/api-router.go b/cmd/api-router.go index 397d6fe75..02c9f9e5d 100644 --- a/cmd/api-router.go +++ b/cmd/api-router.go @@ -84,7 +84,15 @@ func registerAPIRouter(router *mux.Router, encryptionEnabled, allowSSEKMS bool) apiRouter := router.PathPrefix(SlashSeparator).Subrouter() var routers []*mux.Router for _, domainName := range globalDomainNames { - routers = append(routers, apiRouter.Host("{bucket:.+}."+domainName).Subrouter()) + if globalMinioPort == "80" || globalMinioPort == "443" { + // For standard ports its possible, incoming requests + // might not have a port assigned, in such scenarios use + // have wildcard routing. + // FIXME: remove this code once https://github.com/gorilla/mux/pull/579 + // is merged and released upstream, as this entire change can become + // a single line. + routers = append(routers, apiRouter.Host("{bucket:.+}."+domainName).Subrouter()) + } routers = append(routers, apiRouter.Host("{bucket:.+}."+domainName+":{port:.*}").Subrouter()) } routers = append(routers, apiRouter.PathPrefix("/{bucket}").Subrouter()) diff --git a/cmd/iam-object-store.go b/cmd/iam-object-store.go index b27d1ad18..8307300ca 100644 --- a/cmd/iam-object-store.go +++ b/cmd/iam-object-store.go @@ -256,8 +256,7 @@ func (iamOS *IAMObjectStore) loadPolicyDocs(ctx context.Context, m map[string]ia } policyName := item.Item - err := iamOS.loadPolicyDoc(policyName, m) - if err != nil { + if err := iamOS.loadPolicyDoc(policyName, m); err != nil && err != errNoSuchPolicy { return err } } @@ -325,8 +324,7 @@ func (iamOS *IAMObjectStore) loadUsers(ctx context.Context, userType IAMUserType } userName := item.Item - err := iamOS.loadUser(userName, userType, m) - if err != nil { + if err := iamOS.loadUser(userName, userType, m); err != errNoSuchUser { return err } } @@ -353,8 +351,7 @@ func (iamOS *IAMObjectStore) loadGroups(ctx context.Context, m map[string]GroupI } group := item.Item - err := iamOS.loadGroup(group, m) - if err != nil { + if err := iamOS.loadGroup(group, m); err != nil && err != errNoSuchGroup { return err } } @@ -397,8 +394,7 @@ func (iamOS *IAMObjectStore) loadMappedPolicies(ctx context.Context, userType IA policyFile := item.Item userOrGroupName := strings.TrimSuffix(policyFile, ".json") - err := iamOS.loadMappedPolicy(userOrGroupName, userType, isGroup, m) - if err != nil && err != errNoSuchPolicy { + if err := iamOS.loadMappedPolicy(userOrGroupName, userType, isGroup, m); err != nil && err != errNoSuchPolicy { return err } }