Donc, je voulais aussi placer mes uploads derrière Cloudflare, en utilisant Wasabi au lieu de S3, donc CloudFront n’est pas disponible.
J’ai fini par modifier directement la base de données et redémarrer Discourse, et cela a fonctionné. Par ailleurs, est-ce que le HTTPS entre le CDN et S3 est vraiment important si le bucket est en lecture publique uniquement ?
UPDATE site_settings SET value = 'uploads.domain.tld' WHERE name = 's3_upload_bucket';
Je peux définir l’URL du CDN sans problème et la pointer directement vers Wasabi. Cependant, la seule façon de faire passer le trafic par Cloudflare en premier est d’avoir un enregistrement CNAME sur mon domaine pointant vers s3.wasabisys.com, où le nom du bucket doit être au format sous-domaine.votre.domaine.
Par exemple, je ne peux pas avoir un bucket nommé xyz-uploads et l’utiliser derrière Cloudflare avec un CNAME vers s3.wasabisys.com.
Après beaucoup de frustration et de recherches sur Google, j’ai trouvé ce sujet et je suis surpris de constater qu’il a été créé en 2015 et que cela pose encore problème ? C’est un cas d’utilisation valide de vouloir utiliser un bucket S3 avec des points, et d’utiliser la fonctionnalité d’hébergement statique de S3, puis d’avoir CloudFlare devant cela avec SSL. Il n’y a rien de mal à cette configuration, sauf que Discourse nous empêche actuellement de le faire.
Si Discourse veut vraiment surveiller tous les autres utilisateurs pour les protéger contre les problèmes SSL avec des points dans les noms de buckets S3, peut-il au moins afficher un lien vers une documentation pour qu’ils s’informent, tout en permettant aux personnes qui savent comment configurer cela correctement de le faire ?