mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Proxy: Improve header handling for reverse proxy (#67279)
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package proxyutil
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net"
|
||||
"net/http"
|
||||
"sort"
|
||||
@@ -75,6 +76,16 @@ func SetProxyResponseHeaders(header http.Header) {
|
||||
header.Set("Content-Security-Policy", "sandbox")
|
||||
}
|
||||
|
||||
// SetViaHeader adds Grafana's reverse proxy to the proxy chain.
|
||||
// Defined in RFC 9110 7.6.3 https://datatracker.ietf.org/doc/html/rfc9110#name-via
|
||||
func SetViaHeader(header http.Header, major, minor int) {
|
||||
via := fmt.Sprintf("%d.%d grafana", major, minor)
|
||||
if old := header.Get("Via"); old != "" {
|
||||
via = fmt.Sprintf("%s, %s", via, old)
|
||||
}
|
||||
header.Set("Via", via)
|
||||
}
|
||||
|
||||
// ApplyUserHeader Set the X-Grafana-User header if needed (and remove if not).
|
||||
func ApplyUserHeader(sendUserHeader bool, req *http.Request, user *user.SignedInUser) {
|
||||
req.Header.Del(UserHeaderName)
|
||||
|
||||
Reference in New Issue
Block a user