From d2b08c8368d53b96225749a339f0f04a8d969f49 Mon Sep 17 00:00:00 2001 From: Marcus Efraimsson Date: Mon, 20 Jan 2020 00:43:02 +0100 Subject: [PATCH] Render: Use https as protocol when rendering if HTTP2 enabled (#21600) This fixes so that protocol is https instead of h2 when rendering image if Grafana is configured to use HTTP2. Ref grafana/grafana-image-renderer#77 --- pkg/services/rendering/rendering.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pkg/services/rendering/rendering.go b/pkg/services/rendering/rendering.go index 3b075244667..14cc9556f2f 100644 --- a/pkg/services/rendering/rendering.go +++ b/pkg/services/rendering/rendering.go @@ -135,8 +135,17 @@ func (rs *RenderingService) getURL(path string) string { return fmt.Sprintf("%s%s&render=1", rs.Cfg.RendererCallbackUrl, path) } + + protocol := setting.Protocol + switch setting.Protocol { + case setting.HTTP: + protocol = "http" + case setting.HTTP2, setting.HTTPS: + protocol = "https" + } + // &render=1 signals to the legacy redirect layer to - return fmt.Sprintf("%s://%s:%s/%s&render=1", setting.Protocol, rs.domain, setting.HttpPort, path) + return fmt.Sprintf("%s://%s:%s/%s&render=1", protocol, rs.domain, setting.HttpPort, path) } func (rs *RenderingService) getRenderKey(orgId, userId int64, orgRole models.RoleType) (string, error) {