X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/45e77184afd269c569745ab64fd00c2336e70c9c..432ec6a698a5ff2616541745aa7afa9074b970c3:/lib/controller/proxy.go diff --git a/lib/controller/proxy.go b/lib/controller/proxy.go index 13dfcac16a..47b8cb4711 100644 --- a/lib/controller/proxy.go +++ b/lib/controller/proxy.go @@ -63,10 +63,13 @@ func (p *proxy) Do( hdrOut[k] = v } } - xff := reqIn.RemoteAddr - if xffIn := reqIn.Header.Get("X-Forwarded-For"); xffIn != "" { - xff = xffIn + "," + xff + xff := "" + for _, xffIn := range reqIn.Header["X-Forwarded-For"] { + if xffIn != "" { + xff += xffIn + "," + } } + xff += reqIn.RemoteAddr hdrOut.Set("X-Forwarded-For", xff) if hdrOut.Get("X-Forwarded-Proto") == "" { hdrOut.Set("X-Forwarded-Proto", reqIn.URL.Scheme)