Realce de código falhou por causa do CDN bunny.net

Alguém reclamou que a coloração de código não está funcionando em seu site. Eu repliquei o problema no meu. O problema parece ser que o CDN está bloqueado pela política CORS:

image

Eu corrigi o problema adicionando js à configuração “adicionar cabeçalho cors” na página de cors:

Se habilitado, o bunny.net adicionará automaticamente cabeçalhos CORS (Compartilhamento de Recursos de Origem Cruzada) a todas as solicitações de arquivos com extensões da lista.

Esta postagem é para documentá-la caso outra pessoa tenha um problema com um CDN bunny.net e para garantir que eu entenda isso.

6 curtidas

Acredito que exista (ou costumava existir) uma configuração no Bunny que adicionava js ao cors? Eu (por algum motivo) tenho js adicionado ao cors para todos os meus recursos bunny.net, mas não me lembro de tê-los adicionado. É um site relativamente novo?

4 curtidas

O site onde eles notaram isso existe há muito tempo (não me lembro quando começaram a usar bunny).

Não tenho certeza se o bunny mudou ou se algo sobre o script incluído mudou.

2 curtidas

A alteração que provavelmente tornou isso perceptível foi DEV: Modernise highlightjs loading (#24197) · discourse/discourse@0878dde · GitHub, que mudou o highlightjs para carregar via import() nativo, o que requer cabeçalhos CORS ao buscar de um CDN.

Mas mesmo antes dessa alteração, você provavelmente teria tido alguns problemas com coisas como fontes personalizadas (que também requerem cabeçalhos CORS para requisições cross-origin).

Em teoria, o próprio Discourse deveria estar adicionando o cabeçalho CORS às respostas do CDN. Se não estiver, isso provavelmente significa que seu CDN não está definindo o nome do host do CDN (ou seja, não o nome do host do fórum) no cabeçalho Host ou no cabeçalho X-Forwarded-Host.

Dito isso, adicionar os cabeçalhos via configuração do CDN provavelmente alcança a mesma coisa :ok_hand:

4 curtidas

Este tópico foi automaticamente fechado 30 dias após a última resposta. Novas respostas não são mais permitidas.