Errore CORS durante il caricamento di un font personalizzato

Sto cercando di utilizzare un font speciale in uno dei componenti del mio tema. Ho seguito le istruzioni in questo post:

Ecco il CSS del mio componente:

@font-face {
  font-family: 'northwood';
  font-style: regular;
  src: url($northwoodhigh) format('woff2');
}

.category-list tbody .category h3 a[href] {
    color: #ccc;
    font-family: 'northwood', cursive;
    font-size: 135%;
    word-spacing: 3px;
}

Ho aggiunto l’URL di Cloudfront alle impostazioni CORS in questo modo:

Ma non funziona: purtroppo, quando carico una pagina con quel CSS, ottengo un errore “Cross-origin request blocked” nella console:

7d26013f5bcde40cc8778378940e1e53_Image 2020-04-25 at 6.38.04 PM

(Scusa per l’immagine molto piccola.) Qualcuno ha qualche consiglio? Sono bloccato.

Hai impostato DISCOURSE_ENABLE_CORS nel tuo app.yml come suggerito dalla descrizione?

Non sono sicuro – c’è un modo per verificare? (Sono su un’istanza ospitata di Discourse, quindi non posso esaminare direttamente i file di configurazione.)

Modifica: Ho inviato una e-mail al nostro provider di hosting per vedere se questo è il problema.

Aggiornamento: il mio provider di hosting conferma che DISCOURSE_ENABLE_CORS è impostato su TRUE.

Quindi, sono ancora perplesso.

Ho appena provato questo, esattamente come hai descritto, su un sito con un CDN configurato e ha funzionato. Quindi, penso che questo problema possa essere limitato al tuo sito.

Penso che l’impostazione DISCOURSE_ENABLE_CORS sia l’opposto di ciò che desideri. Aggiungere domini a tale impostazione consentirà a richieste provenienti da quei domini di accedere al tuo dominio Discourse, non il contrario.

Ciò che desideri è permettere a richieste provenienti dal tuo dominio Discourse di accedere al file sul tuo CDN. Penso che il tuo CDN stia bloccando queste richieste. Puoi confermarlo eseguendo qualcosa di simile in una finestra del terminale, dopo aver modificato i valori, ovviamente.

curl -H "origin: YOUR_SITE_URL" -v "PATH_TO_THE_FONT_ON_YOUR_CDN"

Se tutto è configurato correttamente, dovresti vedere qualcosa di simile negli header della risposta:

Access-Control-Allow-Origin: *