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
- Acesse a interface de administração do seu relay do Mastodon
Abra um navegador web e vá parahttps://seu-dominio-relay/admin. Autentique-se com suas credenciais de administrador do relay. - Localize as configurações do token de acesso
Clique em Settings na barra lateral esquerda. Role até a seção Relay Access Token. - Gere um novo token
Clique no botão Regenerate Token. Copie o novo valor do token que aparece. O token antigo é revogado imediatamente. - 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
- 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 linhasverify errorna saída. Um valor denum=0significa que o certificado é válido. - 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, executesudo certbot --nginx -d seu-dominio-relaye siga as instruções. O Certbot configura automaticamente o Nginx para usar o novo certificado. - Reinicie o servidor web
Após a instalação do certificado, reinicie o Nginx:sudo systemctl restart nginx. Verifique o certificado novamente com o comandoopensslpara confirmar que o erro desapareceu.
Passo 3: Configurar Firewall e Proxy Reverso
- 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. - 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çalhoAuthorization. No bloco do servidor Nginx, adicione ou confirme esta linha dentro do blocolocation /:proxy_set_header Authorization $http_authorization;. - 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 resposta202 Acceptedsignifica que a autenticação está funcionando. Uma resposta401 Unauthorizedindica 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.