Avatar Proxy- und CDN-Hotlink-Schutz

Ich hasse vage Fragen. Was haben Sie sich gedacht, als Sie nach “dies” gefragt haben?

Hier sind meine aktuellen Einstellungen:

Discourse-Einrichtung:

  • Standardmäßige Einzelcontainer-Installation
  • Als Subdomain eingerichtet: forums.domain.tld
  • Standardmäßige S3-Einrichtung für Uploads
  • Uploads werden auf S3 gespeichert

S3-Einrichtung:

  • Digital Ocean S3 Bucket
  • Bucket für externen Zugriff aktiviert
  • Keine weiteren Sicherheitsebenen oder Berechtigungen

CDN-Einrichtung:

  • Bunny CDN
  • Zulässige Referrer eingerichtet: domain.tld und *.domain.tld
  • Der Schalter, der den Avatarzugriff beendete, war “Block Direct URL File Access” (Direkten URL-Dateizugriff blockieren).

Wenn dies aktiviert ist, erhalten alle Avatare einen 403-Fehler. Wenn dies deaktiviert ist, werden Avatare angezeigt.

Nicht-Avatar-Bilder:

  • URL in Discourse: https://cdn.domain.tld/optimized/3X/3/1/filename_#_size.jpeg

Avatar-Bilder:

  • URL in Discourse: https://forums.domain.tld/user_avatar/forums.domain.tld/mazzini/48/776_2.png

Ein früherer Beitrag, Wie werden Avatare gespeichert und abgerufen?, gibt an, dass Discourse einen Proxy für Avatare verwendet. Daher ist die URL-Struktur für Avatare keine Standard-Bild-URL-Struktur.

Innerhalb meines Systems sind Avatare entweder aus dem S3 oder dem CDN verfügbar. Dies deutet darauf hin, dass die Avatar-URL irgendwo/irgendwie in eine CDN-URL umgewandelt wird.

Wenn dies geschieht, betrachtet das CDN die URL als direkten Zugriffslink und blockiert den Zugriff mit einem 403.

Hoffentlich habe ich die “dies”-Frage beantwortet?