Je déteste les questions vagues. À quoi pensiez-vous en demandant « cela » ?
Voici mes paramètres actuels :
Configuration de Discourse :
- Installation standard dans un conteneur unique
- Configuration en tant que sous-domaine : forums.domain.tld
- Configuration S3 standard pour les téléchargements
- Les téléchargements sont enregistrés sur S3
Configuration S3 :
- Digital Ocean S3 Bucket
- Bucket activé pour l’accès externe
- Aucune autre couche de sécurité ou autorisation
Configuration CDN :
- bunny CDN
- Référents autorisés configurés : domain.tld et *.domain.tld
- Le paramètre qui a bloqué l’accès aux avatars était « Bloquer l’accès direct aux fichiers URL ».
Lorsqu’il est activé, tous les avatars reçoivent une erreur 403. Lorsqu’il est désactivé, les avatars s’affichent.
Images non-avatars :
- URL dans Discourse :
https://cdn.domain.tld/optimized/3X/3/1/filename_#_size.jpeg
Images avatars :
- URL dans Discourse :
https://forums.domain.tld/user_avatar/forums.domain.tld/mazzini/48/776_2.png
Un post précédent, Comment les avatars sont-ils stockés et accédés ?, indique que Discourse utilise un proxy pour les avatars. Par conséquent, la structure d’URL pour les avatars n’est pas une structure d’URL d’image standard.
Dans mon système, les avatars sont disponibles soit depuis S3, soit depuis le CDN. Cela indique qu’à un endroit ou d’une manière ou d’une autre, l’URL de l’avatar est convertie en une URL CDN.
Lorsque cela se produit, le CDN considère l’URL comme un lien d’accès direct et bloque l’accès avec un 403.
J’espère avoir répondu à la question « cela » ?