Je viens d’activer les téléchargements S3 sur mon instance Discourse, configurée avec un CDN Cloudfront. Je viens de tester le téléchargement d’une image et d’un fichier PDF en tant que pièces jointes dans des publications, et ils sont correctement téléchargés dans le compartiment S3. Cependant, en inspectant la page où les deux sont affichés, je constate que le PDF n’utilise pas le lien CDN, mais l’image oui.
Pour l’image, la source img pointe vers le CDN, que le navigateur utilise pour charger la miniature.
Pour le fichier PDF, la source du lien pointe vers une URL relative (/uploads/short-url/xxxxxxxxxxxxx.pdf), qui semble rediriger vers le fichier dans mon compartiment S3 réel (pas le CDN).
Est-ce attendu ? C’est la première fois que j’utilise un CDN, donc peut-être qu’on ne sert généralement pas de fichiers plus volumineux via celui-ci ? Je veux juste m’assurer que tous mes paramètres sont corrects et fonctionnent avant de migrer tous les anciens messages vers S3.
Je ne suis pas tout à fait sûr de pourquoi certains de nos posts utilisent le CDN et d’autres non, mais je peux reproduire une partie de ce que vous observez.
Je pense que vous devez refaire la cuisson des publications. Celles téléchargées avant l’ajout du CDN ne sont pas automatiquement mises à jour, Rebaking all posts matching a pattern, (il pourrait être plus facile de toutes les refaire simplement).
J’ai juste re-généré tous les posts et je n’ai constaté aucun changement. Après re-génération, j’ai de nouveau créé quelques posts de test. Pour résumer ce que je vois (et ce que @Richie semble voir)
Une image dans un post lie correctement au CDN pour l’image affichée en ligne dans le post.
Pour l’image cependant, le lien « télécharger » (en bas à droite lorsque l’on visualise l’image en taille réelle) mène à une URL courte, qui redirige vers mon bucket S3 (pas le CDN).
Pour un upload de PDF, le lien mène à une URL courte, qui redirige vers mon bucket S3 (pas le CDN).
Il semble que chaque fois qu’une URL courte est utilisée, le CDN n’est pas utilisé dans la redirection.
Pour ma configuration Discourse, j’utilise S3 pour les uploads et les sauvegardes. Je n’ai pas encore déplacé tous mes uploads existants vers S3 (je le ferai une fois que j’aurai résolu ce problème). Je n’ai pas non plus activé les uploads sécurisés.
Merci de nous avoir signalé cela, nous examinerons la semaine prochaine et réglerons tous les contournements de CDN manquants qui subsistent. Nous devrions toujours, lorsque cela est possible, atteindre le CDN, avec la réserve que si vous avez activé les téléchargements sécurisés, nous ne pouvons pas le faire facilement.