datasources: forward the x-forwarded-for header (#112863)

This commit is contained in:
Gábor Farkas
2025-10-23 17:14:50 +02:00
committed by GitHub
parent 8b7f119cad
commit 87f40c65e4
+4
View File
@@ -19,6 +19,9 @@ import (
//
// The usage of strings.ToLower is because the server would convert `FromAlert` to `Fromalert`. So the make matching
// easier, we just match all headers in lower case.
//
// the headers X-Real-IP and X-Forwarded-For are used by the HostedGrafanaACHeaderMiddleware at
// https://github.com/grafana/grafana/blob/f191acf8114ab79609fc631e0f01fe2b47371188/pkg/services/pluginsintegration/clientmiddleware/grafana_request_id_header_middleware.go#L107
var expectedHeaders = map[string]string{
strings.ToLower(models.FromAlertHeaderName): models.FromAlertHeaderName,
strings.ToLower(models.CacheSkipHeaderName): models.CacheSkipHeaderName,
@@ -38,6 +41,7 @@ var expectedHeaders = map[string]string{
strings.ToLower(queryService.HeaderDashboardTitle): queryService.HeaderDashboardTitle,
strings.ToLower(queryService.HeaderPanelTitle): queryService.HeaderPanelTitle,
strings.ToLower("X-Real-IP"): "X-Real-IP",
strings.ToLower("X-Forwarded-For"): "X-Forwarded-For",
}
func ExtractKnownHeaders(header http.Header) map[string]string {