Ao tentar seguir um usuário em outra instância do Mastodon ou pesquisar uma conta remota, você pode ver o erro “Webfinger Lookup Failed”. Esse erro significa que sua instância não consegue verificar se o usuário remoto existe. O problema geralmente está em um domínio mal configurado, um registro DNS ausente ou uma falha temporária no servidor. Este artigo explica o que causa a falha na consulta Webfinger e fornece instruções passo a passo para corrigi-lo.
Principais conclusões: Corrigindo o erro Webfinger Lookup Failed no Mastodon
- Registro DNS CNAME para webfinger: Certifique-se de que o subdomínio webfinger.seudominio.com resolva para o mesmo IP da sua instância Mastodon.
- Configuração do proxy reverso NGINX ou Apache: Verifique se o caminho /.well-known/webfinger está sendo redirecionado para o processo do Mastodon.
- Variável de ambiente LOCAL_DOMAIN do Mastodon: Confirme que LOCAL_DOMAIN corresponde exatamente ao seu domínio público, incluindo subdomínios.
Por que o Mastodon exibe o erro Webfinger Lookup Failed
Webfinger é um protocolo que o Mastodon usa para descobrir a URL do perfil de um usuário a partir do seu endereço no formato de e-mail (por exemplo, @usuario@exemplo.com). Quando você pesquisa um usuário remoto, sua instância envia uma solicitação ao endpoint Webfinger do domínio remoto em https://exemplo.com/.well-known/webfinger?resource=acct:usuario@exemplo.com. O servidor remoto deve responder com um JSON que inclui a URL do perfil do usuário e o endpoint de activity streams.
O erro “Webfinger Lookup Failed” ocorre quando essa solicitação retorna um erro HTTP (404, 500 ou timeout) ou quando a resposta está malformada. As causas comuns incluem:
- Registros DNS ausentes ou incorretos para o domínio remoto
- Um proxy reverso (NGINX, Apache, Caddy) que não encaminha o caminho Webfinger para o backend do Mastodon
- O próprio Mastodon não está em execução ou mal configurado na instância remota
- Um firewall ou CDN bloqueando a solicitação
A correção depende se você é o administrador da instância remota ou um usuário tentando seguir alguém. Este guia aborda ambos os cenários.
Passos para corrigir o Webfinger Lookup Failed na sua própria instância
Se você administra a instância Mastodon que está falhando na consulta, siga estes passos para resolver o problema. Se você é um usuário em uma instância diferente, pule para a próxima seção.
- Verifique o status do processo Mastodon
Acesse seu servidor via SSH. Executesystemctl status mastodon-webpara confirmar se o processo web está ativo. Se não estiver em execução, inicie-o comsystemctl start mastodon-web. - Verifique os registros DNS do seu domínio
Use uma ferramenta comodigou um verificador DNS online para confirmar que seu domínio possui um registro A (ou AAAA para IPv6) apontando para o IP do servidor. Verifique também sewebfinger.seudominio.comresolve para o mesmo IP. Alguns CDNs exigem um registro CNAME para o subdomínio. - Examine a configuração do proxy reverso
Abra o arquivo de configuração do NGINX ou Apache. Procure pelo bloco de localização que lida com o caminho/.well-known/. Ele deve incluir um proxy pass para o backend do Mastodon (geralmente porta 3000 ou um socket Unix). Exemplo de bloco NGINX:location /.well-known/ { proxy_pass http://localhost:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } - Teste o endpoint Webfinger diretamente
No servidor, executecurl -I https://seudominio.com/.well-known/webfinger?resource=acct:admin@seudominio.com. Uma resposta bem-sucedida retorna HTTP 200 com Content-Type application/jrd+json. Se você vir um 404 ou 502, o proxy ou o Mastodon está mal configurado. - Revise as variáveis de ambiente do Mastodon
Edite o arquivo.env.production. Certifique-se de queLOCAL_DOMAINestá definido como seu domínio público (ex.:exemplo.com). Não incluahttps://. Se você usa um subdomínio para o Mastodon (ex.:social.exemplo.com), definaLOCAL_DOMAINpara esse subdomínio e também definaWEB_DOMAINse necessário. - Reinicie os serviços do Mastodon
Após fazer alterações, executesystemctl restart mastodon-webesystemctl reload nginx(ou equivalente no Apache).
O que fazer ao seguir um usuário remoto em outra instância
Se você é um usuário comum e vê esse erro ao tentar seguir alguém em um servidor Mastodon diferente, o problema provavelmente está na instância remota. No entanto, há algumas coisas que você pode verificar do seu lado.
- Confirme o endereço completo do usuário
Certifique-se de ter o handle correto no formato @usuario@dominio. Digitar um domínio errado é a causa mais comum. Verifique a página de perfil do usuário para a string exata. - Pesquise usando a URL completa
Na barra de pesquisa do Mastodon, cole a URL completa do perfil do usuário (ex.: https://instanciaremota.com/@usuario). Isso ignora o Webfinger e usa a busca ActivityPub diretamente. - Aguarde e tente novamente mais tarde
A instância remota pode estar passando por uma falha temporária ou manutenção. Tente novamente após 30 minutos. Se o erro persistir, a instância pode ter um problema de configuração permanente. - Entre em contato com o administrador da instância remota
Se você não conseguir alcançar o usuário de outra forma, encontre o e-mail de contato do administrador ou a conta Mastodon da instância remota e relate o problema. Inclua a mensagem de erro exata e o handle que você tentou seguir.
Se o Webfinger Lookup ainda falhar após a correção principal
Mastodon retorna 500 Internal Server Error na solicitação Webfinger
Um erro 500 significa que o próprio aplicativo Mastodon está falhando. Verifique os logs do Mastodon com journalctl -u mastodon-web -n 50. Procure por exceções Ruby ou erros de conexão com o banco de dados. Causas comuns incluem um pool de conexões do banco de dados cheio ou uma gem ausente. Reinicie também o serviço sidekiq com systemctl restart mastodon-sidekiq.
CDN ou firewall bloqueando a solicitação
Cloudflare, CloudFront ou outros CDNs podem bloquear solicitações ao caminho /.well-known/ se não estiverem configurados para permitir a passagem. No Cloudflare, crie uma page rule que defina SSL como Full e garanta que o caminho não seja armazenado em cache. Para firewalls como iptables ou UFW, verifique se a porta 443 está aberta e se o rate limiting não está bloqueando o IP da instância remota.
Webfinger retorna 404 para usuários válidos
Um 404 indica que o endpoint Webfinger não está acessível ou o Mastodon não consegue encontrar o usuário. Verifique novamente o registro A do DNS e o caminho do proxy reverso. Verifique também se a conta do usuário não está suspensa ou excluída. No servidor Mastodon, execute RAILS_ENV=production bin/tootctl accounts lookup usuario para confirmar se a conta existe no banco de dados.
| Item | Configuração Correta | Configuração Incorreta |
|---|---|---|
| Registro A do DNS | Aponta para o IP do servidor | Aponta para IP errado ou ausente |
| Caminho do proxy reverso | Inclui proxy pass para /.well-known/ |
Ausente ou retorna arquivos estáticos |
| Variável LOCAL_DOMAIN | Corresponde exatamente ao domínio público | Tem subdomínio extra ou erro de digitação |
| Processo web do Mastodon | Em execução e ouvindo | Parado ou travado |
Depois de corrigir os registros DNS, a configuração do proxy ou as variáveis de ambiente, a consulta Webfinger deve funcionar. Teste pesquisando um usuário remoto de outra instância. Se você é administrador, monitore também os logs do Mastodon em busca de erros recorrentes. Como etapa avançada, considere configurar um subdomínio webfinger dedicado com um registro CNAME para reduzir a carga no seu domínio principal.