Problema con la ruta relativa que causa error CORS en sitios de Discourse

¿Estás utilizando una CDN en alguno de estos sitios? He notado que el resaltado de código ya no funciona en mi sitio, y creo que es por esto:

En mi caso, mi CDN no está devolviendo una cabecera Access-Control-Allow-Origin para el archivo highlightjs. Noto que la CDN de Meta incluye esa cabecera, así que me pregunto qué es diferente.

$ 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

Sin embargo, esas cabeceras no están siendo servidas por el servidor de origen:

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

Por lo que puedo ver, Discourse está diseñado para añadir cabeceras access-control a los archivos highlightjs:

Sin embargo, esas cabeceras solo se aplican si la solicitud es una “solicitud de CDN”:

Esto solo funciona si Discourse está configurado con un nombre de host separado para las “solicitudes de CDN”.

1 me gusta