Thank Matt for your quick reply.
I’m finding a way to solve my case, I know that this might be out-of-scope of this thread but if you have any suggestions, this would be great:
The simple topology: OpenTelementry (otel-collector) → Caddy → Grafana Cloud Tempo.
I can send directly from Otel-Collector —> Grafana Cloud Tempo via the endpoint tempo-us-central1.grafana.net:443 (with TLS.enable = true and will interpret as grpc in my config) with a Authorization
header.
I added Caddy in between my Otel-Collector and Grafana Cloud, so now I moved my Authorization
headers in Otel-Collector to Caddy header_up
, the flow is that
Otel-Collector —tls = false—> Caddy :4300
Caddy config:
:4300 {
reverse_proxy https://tempo-us-central1.grafana.net:443 {
header_up Authorization "Bearer <secret>"
}
}
The error is
{"level":"error","ts":1656244287.577565,"logger":"http.handlers.reverse_proxy","msg":"reading from backend","error":"stream error: stream ID 1; PROTOCOL_ERROR; received from peer"} {"level":"error","ts":1656244287.5778072,"logger":"http.handlers.reverse_proxy","msg":"aborting with incomplete response","error":"stream error: stream ID 1; PROTOCOL_ERROR; received from peer"} {"level":"error","ts":1656244287.5780146,"logger":"http.log.access.log2","msg":"handled request","request":{"remote_ip":"172.23.0.3","remote_port":"56556","proto":"HTTP/2.0","method":"PRI","host":"","uri":"*","headers":{}},"user_id":"","duration":0.174381354,"size":0,"status":400,"resp_headers":{"Server":["Caddy"],"Content-Type":["text/html; charset=UTF-8"],"Referrer-Policy":["no-referrer"],"Content-Length":["273"],"Date":["Sun, 26 Jun 2022 11:51:27 GMT"]}}
When I use the config: (without scheme)
:4300 {
reverse_proxy tempo-us-central1.grafana.net:443 {
header_up Authorization "Bearer <secret>"
}
}
otel-stack-poc-caddy-1 | {"level":"error","ts":1656244426.5726256,"logger":"http.log.error.log2","msg":"net/http: HTTP/1.x transport connection broken: malformed HTTP response \"\\x15\\x03\\x01\\x00\\x02\\x02F\"","request":{"remote_ip":"172.23.0.3","remote_port":"56704","proto":"HTTP/2.0","method":"PRI","host":"","uri":"*","headers":{}},"duration":0.10876762,"status":502,"err_id":"mqw96e6z4","err_trace":"reverseproxy.statusError (reverseproxy.go:1196)"} otel-stack-poc-caddy-1 | {"level":"error","ts":1656244426.5728211,"logger":"http.log.access.log2","msg":"handled request","request":{"remote_ip":"172.23.0.3","remote_port":"56704","proto":"HTTP/2.0","method":"PRI","host":"","uri":"*","headers":{}},"user_id":"","duration":0.10876762,"size":0,"status":502,"resp_headers":{"Server":["Caddy"]}}
So I want to ask where those response is from the Grafana Cloud? And do you have any suggestions that I can use to ask from Grafana Lab team.
Best regards.