Recentemente migrei meu fórum de um servidor para outro. A versão atual é 2.6.0.beta2. Tudo mais está funcionando bem, no entanto, as imagens carregadas anteriormente não estão visíveis e os usuários não conseguem fazer upload de novas imagens. Além disso, os usuários não conseguem atualizar suas fotos de perfil.
Tentei algumas soluções mencionadas neste fórum, mas nenhuma parece ter funcionado para mim. Preciso de ajuda!
Nunca usei o S3 neste servidor, nem mesmo para testes.
Precisei alterar o servidor porque queria mudar a região. O novo servidor é idêntico ao antigo em todos os aspectos, exceto pela região. Eu estava usando o CDN CloudFront, mas após a migração, invalidei o cache completo.
Consigo ver que as imagens antigas estão disponíveis no novo servidor, pois foram incluídas no backup, mas mesmo assim o problema persiste.
Sim, tudo estava idêntico em ambos os servidores. Segui os procedimentos corretos para a migração e também verifiquei os problemas enfrentados por outros usuários durante o processo.
O problema não é apenas que não consigo visualizar as imagens antigas; os usuários também não conseguem fazer upload de novas imagens. Acho que é um problema relacionado a algum driver de imagem (peço desculpas pela suposição vaga).
Ok, então, para recapitular, seu servidor antigo estava na instalação padrão. Você reinstalou em um sistema construído da mesma maneira e restaurou o backup.
Se você examinar o código-fonte de uma página, como ficam os URLs das imagens? Como isso se compara aos uploads em /var/discourse/standalone/web-only/uploads/default?
O que acontece se você tentar abrir um link de imagem diretamente?
Alguma dessas instalações era de dois contêineres?
Reclassificando de bug para #suporte, pois não há etapas claras para reproduzir o problema. Assim que identificarmos a causa raiz, pode ser necessário registrar como um bug, mas esse não é o caso no momento.
Parece que as imagens do meu fórum foram carregadas em /var/discourse/shared/standalone/uploads/default/optimized/1X. Há muitas imagens armazenadas em várias resoluções; no entanto, o nome do arquivo de imagem no fórum e no diretório não são iguais.
Recebo o código 404 para https://forumcdn.domain.com/uploads/default/optimized/1X/55cfd1bf40edcb3ac19d3e412a5ad63f93c0a854_2_225x250.png, mas quando substituo o nome do arquivo de imagem por um nome de arquivo do diretório, funciona. Todos os arquivos de imagem estão intactos e podem ser visualizados quando abertos diretamente; apenas os nomes dos arquivos no fórum são diferentes.
A opção ‘Incluir miniaturas nos backups’ está habilitada na instância de origem?
Se não:
Incluir miniaturas geradas nos backups. Desabilitar isso tornará os backups menores, mas exigirá uma nova geração (rebake) de todas as publicações após uma restauração.
Isso significa que você precisará executar rake posts:rebake.
Incluir miniaturas nos backups estava desativado na instância de origem. Acabei de executar rake posts:rebake dentro do contêiner do Discourse e obtive o seguinte resultado:
root@vps-app:/var/www/discourse# rake posts:rebake
Rebaking post markdown for 'default'
628 / 628 (100.0%)
628 posts done!
Para ter certeza, invalidei o cache da CDN, mas ainda assim não consigo visualizar nenhuma imagem. Além disso, não consigo fazer upload de nenhuma imagem, então duvido que essa solução resolva esse problema.