+
Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion proxy/http_headers.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,18 @@ func addHeaders(r *http.Request, cfg config.Proxy, stripPath string) error {
// http proxy which sets it.
ws := r.Header.Get("Upgrade") == "websocket"
if ws {
r.Header.Set("X-Forwarded-For", remoteIP)
clientIP := remoteIP
// If we aren't the first proxy retain prior
// X-Forwarded-For information as a comma+space
// separated list and fold multiple headers into one.
prior, ok := r.Header["X-Forwarded-For"]
omit := ok && prior == nil // Issue 38079: nil now means don't populate the header
if len(prior) > 0 {
clientIP = strings.Join(prior, ", ") + ", " + clientIP
}
if !omit {
r.Header.Set("X-Forwarded-For", clientIP)
}
}

// Issue #133: Setting the X-Forwarded-Proto header to
Expand Down
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载