Eu odeio perguntas vagas. O que você estava pensando quando pediu por “isso”?
Aqui estão minhas configurações atuais:
Configuração do Discourse:
- Instalação padrão em um único contêiner
- Configurado como um subdomínio: forums.domain.tld
- Configuração padrão do S3 para uploads
- Uploads são salvos no S3
Configuração do S3:
- Digital Ocean S3 Bucket
- Bucket ativado para acesso externo
- Nenhuma outra camada de segurança ou permissões
Configuração do CDN:
- bunny CDN
- Referenciadores permitidos configurados: domain.tld e *.domain.tld
- A opção que matou o acesso a avatares foi “Bloquear Acesso Direto a Arquivos por URL”.
Quando ativado, todos os avatares recebiam um erro 403. Quando desativado, os avatares apareciam.
Imagens não de Avatar:
- URL no Discourse:
https://cdn.domain.tld/optimized/3X/3/1/filename_#_size.jpeg
Imagens de Avatar:
- URL no Discourse:
https://forums.domain.tld/user_avatar/forums.domain.tld/mazzini/48/776_2.png
Uma postagem anterior, Como os avatares são armazenados e acessados?, indica que o Discourse usa um proxy para avatares. Portanto, a estrutura de URL para avatares não é uma estrutura de URL de imagem padrão.
Dentro do meu sistema, os avatares estão disponíveis no S3 ou no CDN. Isso indica que em algum lugar/de alguma forma o URL do avatar é convertido para um URL do CDN.
Quando isso acontece, o CDN considera o URL um link de acesso direto e bloqueia o acesso com um 403.
Espero ter respondido à pergunta “isso”?