Tentei carregar um avatar personalizado, ele pôde ser carregado com sucesso, mas ao solicitar https://example.com/user_avatar/example.com/example_user/96/11_2.png, ele retornou um erro 500. O avatar anônimo padrão não apresenta esse erro.
Último branch master do Discourse.
Cloudflare R2 é usado como meu armazenamento S3.
Claro. Aliás, usei o Cloudflare R2 (compatível com S3) para armazenar o conteúdo carregado. Quando verifiquei os arquivos no bucket, o arquivo de avatar estava realmente lá, mas os clientes não conseguiam acessá-lo com https://example.com/user_avatar/example.com/example_user/96/11_2.png, é tão estranho.
@avidseeker
Quando você usa um serviço OSS e seu servidor não consegue acessá-lo, por exemplo, você está na China e as conexões do seu servidor com o Cloudflare R2 são bloqueadas pelo ISP local. Quando os clientes tentam adquirir recursos de avatar personalizados, seu servidor precisa adquiri-lo do OSS, mas falha, retornando 500 para os clientes.
No meu caso, definir duas variáveis de ambiente: HTTP_PROXY e HTTPS_PROXY para um servidor proxy que pode acessar seu serviço OSS. Se você instalou o Discourse com a instalação padrão, em seu app.xml ele deve ter um campo chamado env, adicione essas duas variáveis e então você pode executar. Eu usei instalação não suportada e uso o Systemd para gerenciar o Discourse, então adicionei dois parâmetros Environment no arquivo .service.
Não sei se seu país tem um sistema de censura de rede. Se sim, posso presumir que você já sabe o que fazer; Se não, verifique o status online do seu serviço OSS e suas configurações sobre S3.