Ich denke, es gibt ein Problem damit, wie Discourse damit umgeht. Wenn Sie Uploads nach S3 verschieben und die Umgebungsvariable DISCOURSE_S3_CDN_URL festlegen, versucht Discourse auch, Assets von S3 abzurufen. Ich musste Uploads und Assets nach S3 + Cloudfront verschieben, damit es funktioniert, aber das sollte nicht notwendig sein, da Sie nur wollen, dass Uploads auf S3 liegen.
Sie können diesen Thread prüfen, um zu sehen, ob er hilft.