Visão Geral da Atualização e Resolução de Problemas
Este guia detalha o processo de atualização do sistema de comentários Artalk para a versão 2.8.3, com foco na resolução de um erro comum de resposta HTTP 404 que impede a obtenção dos dados da lista de comentários. Abordamos os passos de atualização do lado do servidor e as configurações necessárias no cliente Hexo.
Processo de Atualização do Servidor Artalk via Docker
A motivação inicial para a atualização surgiu de problemas persistentes no envio de e-mails via SMTP, que não funcionavam corretamente na versão anterior (v2.6.4). Decidiu-se, então, atualizar para a versão mais recente do Artalk.
Os seguintes comandos foram utilizados para atualizar a instância do Artalk em um ambiente Docker Compose:
# Desliga os serviços Artalk existentes
docker-compose down
# Puxa as imagens Docker mais recentes do Artalk
docker-compose pull
# Inicia os serviços com a nova imagem, removendo contêineres órfãos
docker-compose up --remove-orphans
# Limpa imagens Docker antigas e não utilizadas
docker image prune
Após a execução desses passos, a versão do Artalk no servidor foi atualizada com sucesso para v2.8.3.
Diagnóstico e Correção do Erro 404 no Frontend
Após a atualização do servidor, um erro de resposta 404 começou a aparecer no frontend, impedindo a exibição dos comentários:
Artalk Error: Erro de resposta 404, impossível obter dados da lista de comentários.
A primeira linha de ivnestigação focou no status do serviço Docker do Artalk, que estava operando normalmente. A suspeita então recaiu sobre a integração com o geraddor de sites estáticos Hexo.
Verificou-se o plugin hexo-next-artalk, confirmando que estava atualizado. No entanto, a causa raiz foi descoberta no arquivo de configuração do Hexo, _config.yml. As referências para os arquivos JavaScript e CSS do Artalk carregados via CDN ainda apontavam para a versão antiga 2.6.4, não a 2.8.3 que estava sendo executada no servidor.
A solução envolveu a atualização das URLs do CDN no arquivo _config.yml do Hexo para a versão correta do Artalk:
# Exemplo de configuração no _config.yml do Hexo
artalk:
jsUrl: https://cdnjs.cloudflare.com/ajax/libs/artalk/2.8.3/Artalk.min.js
cssUrl: https://cdnjs.cloudflare.com/ajax/libs/artalk/2.8.3/Artalk.min.css
# Outras configurações do Artalk...
Após a modificação, os seguitnes comandos foram executados para limpar o cache do Hexo, gerar novamente os arquivos estáticos e iniciar o servidor de desenvolvimento:
hexo clean
hexo g && hexo s
Com essa alteração, o erro 404 foi corrigido, e os comentários passaram a ser carregados corretamente.
Problemas Persistentes com SMTP
Apesar da resolução do erro 404, o problema original de envio de e-mails via SMTP persistiu, indicando falhas na verificação de certificados TLS. As mensagens de erro observadas nos logs do Docker incluíam:
artalk | ERROR Email: Email sending failed via SMTP tls: failed to verify certificate: x509: certificate relies on legacy Common Name field, use SANs instead
artalk | ERROR Email: Failed send email to addr: seu_email@exemplo.com
E também um erro fatal relacionado à configuração de TLS:
artalk | FATAL tls: provide a valid cert or key path
Esses erros sugerem que a configuração do servidor SMTP ou dos certificados TLS no Artalk precisa de uma investigação e ajuste mais aprofundadas, possivelmente exigindo o fornecimento de certificados válidos ou a configuração correta para ignorar a verificação de certificados em ambientes controlados, se aplicável.
Observação Importante para Sites Multilíngues
Para projetos Hexo com suporte a múltiplos idiomas, é fundamental replicar as alterações de configuração (especialmente as URLs do CDN para JS e CSS) em todas as versões de idioma do site (por exemplo, dentro do diretório /en para a versão em inglês), a fim de garantir que a funcionalidade de comentários opere corretamente em todas as línguas e evitar a recorrência do erro 404.