Problema con il percorso relativo che causa errore CORS sui siti Discourse

Stai utilizzando una CDN su uno di questi siti? Ho notato che l’evidenziazione del codice non funziona più sul mio sito e penso che sia a causa di questo:

Nel mio caso, la mia CDN non restituisce un’intestazione Access-Control-Allow-Origin per il file highlightjs. Noto che la CDN di Meta include tale intestazione, quindi mi chiedo cosa sia diverso.

$ curl --silent -I https://d3bpeqsaub0i6y.cloudfront.net/highlight-js/meta.discourse.org/9797975efac87d28baa695ae13ca72ccaf5120f5.js | grep -i access-control
access-control-allow-origin: *
access-control-allow-methods: GET, HEAD, OPTIONS

Tuttavia, queste intestazioni non vengono servite dal server di origine:

$ curl --silent -I https://meta.discourse.org/highlight-js/meta.discourse.org/9797975efac87d28baa695ae13ca72ccaf5120f5.js | grep -i access-control

Per quanto ne so, Discourse dovrebbe aggiungere intestazioni access-control ai file highlightjs:

Tuttavia, queste intestazioni vengono applicate solo se la richiesta è una “richiesta CDN”:

Questo funziona solo se Discourse è configurato con un nome host separato per le “richieste CDN”.

1 Mi Piace