Erros de Autenticação no Inbox do Relay do Mastodon: Corrigir
🔍 WiseChecker

Erros de Autenticação no Inbox do Relay do Mastodon: Corrigir

Ao executar um relay do Mastodon, você pode ver erros de autenticação no inbox nos logs do servidor. Esses erros impedem que o relay encaminhe corretamente postagens públicas entre instâncias. A causa raiz é quase sempre uma incompatibilidade no token de autorização do relay ou uma conexão HTTPS mal configurada. Este artigo explica por que esses erros ocorrem e fornece correções passo a passo para restaurar a operação normal do relay.

Principais Conclusões: Correções de Autenticação no Inbox do Relay do Mastodon

  • Regeneração do token de acesso do relay: Gera um novo segredo compartilhado que todas as instâncias conectadas devem usar para autenticar entregas no inbox.
  • Validação do certificado HTTPS: Garante que o certificado TLS do servidor do relay seja válido e confiável por todas as instâncias federadas.
  • Regra de firewall para a porta 443: Permite tráfego HTTPS de entrada para que instâncias remotas possam entregar mensagens no inbox do relay.

Por que Ocorrem Erros de Autenticação no Inbox do Relay do Mastodon

Um relay do Mastodon atua como um hub central que redistribui postagens públicas para todas as instâncias inscritas. Quando uma instância envia uma postagem para o endpoint do inbox do relay, o relay deve verificar se a solicitação vem de uma fonte autorizada. Essa verificação usa um token de acesso compartilhado. Se o token estiver ausente, expirado ou incompatível, o relay rejeita a entrega com um erro de autenticação.

Outra causa comum é uma falha no handshake HTTPS. O servidor do relay deve apresentar um certificado TLS válido que corresponda ao seu nome de domínio. Se o certificado for autoassinado, expirado ou emitido para um domínio diferente, as instâncias remotas se recusarão a conectar. A mensagem de erro nos logs do relay geralmente exibe HTTP 401 Unauthorized ou SSL certificate verify failed.

Uma terceira causa é um firewall ou proxy reverso que bloqueia ou modifica o tráfego HTTPS. Por exemplo, um proxy que remove o cabeçalho Authorization fará com que todas as solicitações de inbox falhem na autenticação. Entender essas três causas raiz ajuda a identificar a correção exata necessária.

Passos para Corrigir Erros de Autenticação no Inbox do Relay do Mastodon

Os passos a seguir abordam as três causas mais comuns. Execute-os em ordem e teste o relay após cada etapa.

Passo 1: Regenerar o Token de Acesso do Relay

  1. Acesse a interface de administração do seu relay do Mastodon
    Abra um navegador web e vá para https://seu-dominio-relay/admin. Autentique-se com suas credenciais de administrador do relay.
  2. Localize as configurações do token de acesso
    Clique em Settings na barra lateral esquerda. Role até a seção Relay Access Token.
  3. Gere um novo token
    Clique no botão Regenerate Token. Copie o novo valor do token que aparece. O token antigo é revogado imediatamente.
  4. Atualize todas as instâncias conectadas
    Para cada instância que assina seu relay, o administrador deve atualizar a URL do relay nas configurações de relay da instância. O novo formato da URL é https://seu-dominio-relay/inbox?access_token=NOVO_TOKEN. Sem essa atualização, essas instâncias continuarão enviando solicitações com o token antigo, causando erros de autenticação.

Passo 2: Verificar e Corrigir o Certificado HTTPS

  1. Verifique o certificado atual
    Execute este comando de qualquer máquina com acesso de rede ao relay: openssl s_client -connect seu-dominio-relay:443 -servername seu-dominio-relay. Procure pelas linhas verify error na saída. Um valor de num=0 significa que o certificado é válido.
  2. Obtenha um certificado TLS válido
    Se o certificado estiver expirado ou for autoassinado, instale um certificado gratuito do Let’s Encrypt usando Certbot. No servidor do relay, execute sudo certbot --nginx -d seu-dominio-relay e siga as instruções. O Certbot configura automaticamente o Nginx para usar o novo certificado.
  3. Reinicie o servidor web
    Após a instalação do certificado, reinicie o Nginx: sudo systemctl restart nginx. Verifique o certificado novamente com o comando openssl para confirmar que o erro desapareceu.

Passo 3: Configurar Firewall e Proxy Reverso

  1. Abra a porta 443 no firewall
    No servidor do relay, permita tráfego HTTPS de entrada: sudo ufw allow 443/tcp. Se você usar uma ferramenta de firewall diferente, crie uma regra para permitir tráfego TCP na porta 443.
  2. Verifique os cabeçalhos do proxy reverso
    Se o relay estiver atrás de um Nginx como proxy reverso, certifique-se de que o proxy passe o cabeçalho Authorization. No bloco do servidor Nginx, adicione ou confirme esta linha dentro do bloco location /: proxy_set_header Authorization $http_authorization;.
  3. Teste o endpoint do inbox do relay
    De uma máquina remota, envie uma solicitação POST de teste: curl -X POST -H "Authorization: Bearer SEU_TOKEN" https://seu-dominio-relay/inbox. Uma resposta 202 Accepted significa que a autenticação está funcionando. Uma resposta 401 Unauthorized indica que o token ou certificado ainda está incorreto.

Se o Relay do Mastodon Ainda Tiver Problemas Após a Correção Principal

Log do Relay Mostra “Connection refused”

Esse erro significa que o serviço do relay do Mastodon não está em execução. No servidor do relay, verifique o status do serviço: sudo systemctl status mastodon-relay. Se estiver inativo, inicie-o com sudo systemctl start mastodon-relay. Ative-o para iniciar na inicialização: sudo systemctl enable mastodon-relay.

Instâncias Remotas Relatam “Invalid Token” Após Regeneração do Token

O novo token pode não ter sido propagado para todas as instâncias conectadas. Entre em contato com cada administrador de instância e peça para atualizar a URL do relay. Como solução temporária, você pode definir o token antigo de volta nas configurações do relay, mas isso deixa o relay vulnerável. Em vez disso, envie uma notificação em massa para todos os administradores de instância com o novo token e um prazo para a atualização.

Relay Funciona Localmente, mas Falha em Redes Externas

Isso geralmente é um problema de DNS ou roteamento. Verifique se o domínio do relay resolve para o endereço IP público correto de fora da sua rede. Use uma ferramenta como whatsmydns.net para verificar a propagação global de DNS. Se o IP estiver correto, verifique se seu roteador encaminha a porta 443 para o IP interno do servidor do relay.

Autenticação do Relay do Mastodon: Verificação Baseada em Token vs. Certificado

Item Verificação Baseada em Token Verificação Baseada em Certificado
Método String secreta compartilhada na URL ou cabeçalho Certificado TLS apresentado durante o handshake HTTPS
Erro em caso de falha HTTP 401 Unauthorized SSL certificate verify failed ou conexão resetada
Dificuldade de rotação Fácil — regenerar token e atualizar instâncias Moderada — obter novo certificado e reiniciar servidor web
Nível de segurança Menor se o token for transmitido na URL Maior — usa criptografia de chave pública
Correção comum Regenerar token e atualizar URLs do relay Instalar um certificado Let’s Encrypt válido

Agora você pode diagnosticar e corrigir erros de autenticação no inbox do relay do Mastodon regenerando o token de acesso, instalando um certificado TLS válido e ajustando as configurações de firewall ou proxy. Teste o relay após cada alteração usando um comando curl para confirmar a correção. Como dica avançada, monitore os logs do relay em tempo real com sudo journalctl -u mastodon-relay -f para ver as tentativas de autenticação conforme elas ocorrem.