Merge pull request #1513 from maxlaverse/return_503_by_default

Return 503 by default when no endpoint is available
This commit is contained in:
Manuel Alejandro de Brito Fontes 2017-10-09 10:39:23 -04:00 committed by GitHub
commit ae34a22a86
2 changed files with 10 additions and 4 deletions

View file

@ -603,8 +603,8 @@ func (ic *GenericController) getBackendServers(ingresses []*extensions.Ingress)
for _, location := range server.Locations {
if upstream.Name == location.Backend {
if len(upstream.Endpoints) == 0 {
glog.V(3).Infof("upstream %v does not have any active endpoints. Using default backend", upstream.Name)
location.Backend = "upstream-default-backend"
glog.V(3).Infof("upstream %v does not have any active endpoints.", upstream.Name)
location.Backend = ""
// check if the location contains endpoints and a custom default backend
if location.DefaultBackend != nil {

View file

@ -808,8 +808,14 @@ stream {
proxy_set_header X-Service-Name $service_name;
{{ end }}
{{ if not (empty $location.Backend) }}
{{ buildProxyPass $server.Hostname $all.Backends $location }}
{{ else }}
# No endpoints available for the request
return 503;
{{ end }}
{{ else }}
# Location denied. Reason: {{ $location.Denied }}
return 503;
{{ end }}