Premièrement, j’ai supprimé toutes les références S3 du fichier web_only.yml. J’ai effectué un rebuild et, par précaution, une commande rake posts:rebake. Les problèmes ont disparu, mais les images continuaient bien sûr à être servies via le CDN. J’ai réintégré S3 et le problème est réapparu.
J’ai ouvert AWS et j’ai jeté un coup d’œil aux paramètres de distribution dans CloudFront. J’y avais au moins un domaine qui datait d’au moins trois ans et dont le TLD avait changé. Je trouve étonnant que quoi que ce soit ait fonctionné. J’ai modifié les paramètres conformément aux recommandations de CloudFront et, à un certain endroit, j’ai également défini access-control-allow-origin: * (ce qui est stupide, car cela rend le CORS inutile). Cependant, d’après ma compréhension, cet en-tête était déjà servi via CloudFront.
Par précaution, j’ai de nouveau effectué un rebuild et des tests. Cela n’a pas aidé.
Comme il est possible que le cache pose problème, j’ai invalidé /assets/* et, par précaution, également /assets/br/*. Un nouveau rebuild a été effectué et le problème a été résolu.
Un autre problème a également été corrigé. Depuis l’été, je rencontre un problème Oops…, c’est-à-dire une erreur 50x après un rebuild. Lorsque j’active le mode sans échec et que je désactive les thèmes, je peux accéder à l’administration. Je dois désactiver plusieurs TC, soit plus de 20, et le forum reprend vie. Ensuite, je peux réactiver ces composants et tout fonctionne à nouveau.
Peut-on donc en conclure que tout est né des problèmes avec AWS CloudFront ?