CORS-Fehler beim Laden einer benutzerdefinierten Schriftart

Ich versuche, eine spezielle Schriftart in einer meiner Theme-Komponenten zu verwenden. Ich habe die Anweisungen in diesem Beitrag befolgt:

Hier ist der CSS-Code in meiner Komponente:

@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;
}

Ich habe meine Cloudfront-URL wie folgt in die CORS-Einstellungen aufgenommen:

Aber es funktioniert nicht – leider erhalte ich beim Laden einer Seite mit diesem CSS einen „Cross-origin request blocked"-Fehler in der Konsole:

7d26013f5bcde40cc8778378940e1e53_Image 2020-04-25 at 6.38.04 PM

(Entschuldigung für das sehr kleine Bild.) Hat jemand einen Rat? Ich stecke fest.

Haben Sie DISCOURSE_ENABLE_CORS in Ihrer app.yml wie in der Beschreibung empfohlen aktiviert?

1 „Gefällt mir“

Nicht sicher – gibt es eine Möglichkeit, das zu überprüfen? (Ich nutze eine gehostete Instanz von Discourse, sodass ich nicht direkt auf die Konfigurationsdateien zugreifen kann.)

Edit: Ich habe unseren Hosting-Provider kontaktiert, um zu prüfen, ob das das Problem ist.

Update: Mein Hosting-Anbieter bestätigt, dass DISCOURSE_ENABLE_CORS auf TRUE gesetzt ist.

Ich bin also immer noch verwirrt.

Ich habe das gerade genau wie von dir beschrieben auf einer Site mit CDN-Setup ausprobiert, und es hat funktioniert. Ich denke also, dass dies auf deine Site beschränkt sein könnte.

Ich glaube, die Einstellung DISCOURSE_ENABLE_CORS ist das Gegenteil von dem, was du möchtest. Das Hinzufügen von Domains zu dieser Einstellung erlaubt Anfragen von diesen Domains Zugriff auf deine Discourse-Domain, nicht umgekehrt.

Was du brauchst, ist die Erlaubnis für Anfragen von deiner Discourse-Domain, um auf die Datei auf deinem CDN zuzugreifen. Ich vermute, dass dein CDN diese Anfragen blockiert. Du kannst das bestätigen, indem du nach dem Ändern der Werte etwas wie Folgendes in einem Terminal-Fenster ausführst:

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

Wenn alles korrekt eingerichtet ist, solltest du in den Antwort-Headern etwas wie Folgendes sehen:

Access-Control-Allow-Origin: *
2 „Gefällt mir“