refactor: logic refactor for setting xff header
Some checks are pending
Docker Image CI (nightly) / build-nightly (push) Waiting to run
Docker Image CI (nightly) / build-nightly-agent (push) Waiting to run

This commit is contained in:
yusing 2025-05-16 20:14:03 +08:00
parent 4bbff323e3
commit f45f3fba79

View file

@ -301,6 +301,7 @@ func (p *ReverseProxy) handler(rw http.ResponseWriter, req *http.Request) {
prior, ok := outreq.Header[httpheaders.HeaderXForwardedFor]
omit := ok && prior == nil // Issue 38079: nil now means don't populate the header
if !omit {
xff, _, err := net.SplitHostPort(req.RemoteAddr)
if err != nil {
xff = req.RemoteAddr
@ -308,7 +309,6 @@ func (p *ReverseProxy) handler(rw http.ResponseWriter, req *http.Request) {
if len(prior) > 0 {
xff = strings.Join(prior, ", ") + ", " + xff
}
if !omit {
outreq.Header.Set(httpheaders.HeaderXForwardedFor, xff)
}