Add check for reverse proxy setups (#18310)

Add check for reverse proxy setups, to skip check for paths being served by different port on same address.
This commit is contained in:
Allan Roger Reid 2023-10-30 10:49:04 -07:00 committed by GitHub
parent 06f59ad631
commit 4d40ee00e9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -915,11 +915,14 @@ func CreatePoolEndpoints(serverAddr string, poolArgs ...[][]string) ([]Endpoints
}
orchestrated := IsKubernetes() || IsDocker()
if !orchestrated {
reverseProxy := (env.Get("_MINIO_REVERSE_PROXY", "") != "") && ((env.Get("MINIO_CI_CD", "") != "") || (env.Get("CI", "") != ""))
// If not orchestrated
if !orchestrated &&
// and not setup in reverse proxy
!reverseProxy {
// Check whether same path is not used in endpoints of a host on different port.
// Only verify this on baremetal setups, DNS is not available in orchestrated
// environments so we can't do much here.
{
pathIPMap := make(map[string]set.StringSet)
hostIPCache := make(map[string]set.StringSet)
for _, endpoint := range endpoints {
@ -944,7 +947,6 @@ func CreatePoolEndpoints(serverAddr string, poolArgs ...[][]string) ([]Endpoints
}
}
}
}
// Check whether same path is used for more than 1 local endpoints.
{
@ -1113,11 +1115,14 @@ func CreateEndpoints(serverAddr string, args ...[]string) (Endpoints, SetupType,
}
orchestrated := IsKubernetes() || IsDocker()
if !orchestrated {
reverseProxy := (env.Get("_MINIO_REVERSE_PROXY", "") != "") && ((env.Get("MINIO_CI_CD", "") != "") || (env.Get("CI", "") != ""))
// If not orchestrated
if !orchestrated &&
// and not setup in reverse proxy
!reverseProxy {
// Check whether same path is not used in endpoints of a host on different port.
// Only verify this on baremetal setups, DNS is not available in orchestrated
// environments so we can't do much here.
{
pathIPMap := make(map[string]set.StringSet)
hostIPCache := make(map[string]set.StringSet)
for _, endpoint := range endpoints {
@ -1141,7 +1146,6 @@ func CreateEndpoints(serverAddr string, args ...[]string) (Endpoints, SetupType,
}
}
}
}
// Check whether same path is used for more than 1 local endpoints.
{