Ho provato a caricare un avatar personalizzato, è stato caricato correttamente, ma quando richiedo https://example.com/user_avatar/example.com/example_user/96/11_2.png, restituisce solo un errore 500. L’avatar anonimo predefinito non presenta questo errore.
Ultimo branch master di Discourse.
Cloudflare R2 viene utilizzato come mio storage S3.
Certamente. A proposito, ho utilizzato Cloudflare R2 (compatibile con S3) per archiviare i contenuti caricati; quando ho controllato i file nel bucket, il file dell’avatar era effettivamente presente, ma i client non potevano accedervi con https://example.com/user_avatar/example.com/example_user/96/11_2.png, è così strano.
@avidseeker
Quando si utilizza un servizio OSS e il proprio server non è in grado di accedervi, ad esempio, ci si trova in Cina e le connessioni del server a Cloudflare R2 sono bloccate dall’ISP locale. Quando i client tentano di acquisire risorse di avatar personalizzate, il server deve acquisirle dall’OSS, ma fallisce, restituendo quindi 500 ai client.
Nel mio caso, impostando due variabili d’ambiente: HTTP_PROXY e HTTPS_PROXY su un server proxy in grado di accedere al tuo servizio OSS. Se hai installato Discourse con l’installazione standard, nel tuo app.xml dovrebbe esserci un campo chiamato env, aggiungi quelle due variabili e poi puoi eseguire. Ho utilizzato un’installazione non supportata e uso Systemd per gestire Discourse, quindi ho aggiunto due parametri Environment nel file .service.
Non so se il tuo paese abbia un sistema di censura di rete. In tal caso, posso presumere che tu sappia già cosa fare; in caso contrario, controlla lo stato online del tuo servizio OSS e le tue impostazioni relative a S3.