Update graphite to send CORS headers even on 400 responses

Newer grafana sends an options request that graphite responds to with a
400 response. This response did not include allowed origin headers
because it is a failure case. Update this header and the allowed methods
header to always be included even on 400 or other error responses.

This should ideally address the CORS errors we see with updated grafana.
An alternative is to update grafana to proxy the requests for us, but
this is less flexible as other tools may not have built in proxies.

The suggestion comes from this stackoverflow question and answer:

  https://stackoverflow.com/questions/20414669/nginx-add-headers-when-returning-400-codes

Change-Id: Icf1179d35e420384da72af839ca329548226ee63
This commit is contained in:
Clark Boylan 2025-01-28 12:14:02 -08:00
parent c0d930ca25
commit 088df00edc

View File

@ -52,10 +52,10 @@ server {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type, X-Grafana-Device-Id';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type, X-Grafana-Device-Id' always;
add_header 'Access-Control-Allow-Credentials' 'true' always;
}
}