新搭建的Mastodon实例无搜索结果且联邦网络异常求助
排查Mastodon实例孤立状态的步骤
你的Mastodon v3.5.5实例能正常注册账号、发布Toots,但无法接入联邦网络(搜索无结果、时间线仅显示自身内容),且日志无报错,可按以下步骤逐一排查:
1. 验证联邦基础网络连通性
- 检查域名与SSL配置:
执行命令测试WebFinger端点是否正常响应:
需返回包含用户信息的JSON数据,若返回404或SSL错误,说明域名解析、SSL证书配置存在问题,需优先修复。curl https://你的实例域名/.well-known/webfinger?resource=acct:你的管理员账号@你的实例域名 - AWS安全组与防火墙检查:
确保AWS安全组开放入站80、443端口,同时出站规则允许所有HTTPS(443)流量(Mastodon需要主动连接其他联邦实例)。服务器本地防火墙(如ufw)也要允许80、443端口通行。 - 确认核心服务运行状态:
执行命令查看Mastodon所有服务状态:
所有服务需处于systemctl status mastodon-web mastodon-sidekiq mastodon-streamingactive (running)状态,若有服务异常,重启对应服务(如systemctl restart mastodon-sidekiq)。
2. 检查实例联邦配置
- 登录实例管理后台(
https://你的实例域名/admin),进入「服务器设置」→「联邦」:- 确保未勾选「拒绝来自其他服务器的所有请求」「拒绝向其他服务器发送内容」这类限制选项;
- 确认「允许搜索远程内容」「允许联邦时间线」等选项处于开启状态。
- 进入「功能设置」,确认「搜索功能」已启用。
3. 手动触发联邦同步测试
- 尝试关注远程用户:
在实例中手动搜索并关注一个知名联邦用户(如@Gargron@mastodon.social),若搜索无结果,执行命令强制同步该用户:
执行后实时查看Sidekiq日志:cd /home/mastodon/live RAILS_ENV=production bundle exec tootctl accounts follow Gargron@mastodon.social
观察是否有同步任务执行,若出现连接超时或SSL错误,说明网络出站存在限制。journalctl -u mastodon-sidekiq -f - 刷新时间线缓存:
执行命令刷新本地与联邦时间线:
刷新页面后查看时间线是否有更新。RAILS_ENV=production bundle exec rake mastodon:feeds:refresh
4. 验证数据库与Redis状态
- PostgreSQL检查:
执行命令测试数据库连接:
若能正常进入数据库交互界面,说明数据库无连接问题;若报错,需检查数据库服务状态与权限配置。sudo -u postgres psql -d mastodon_production - Redis检查:
执行命令测试Redis连通性:
需返回redis-cli pingPONG,若失败,重启Redis服务(systemctl restart redis-server)并检查配置。
5. 检查定时任务执行
Mastodon依赖Sidekiq定时任务同步联邦实例信息,查看定时任务日志:
journalctl -u mastodon-sidekiq | grep InstanceRefreshScheduler
确认InstanceRefreshScheduler任务能正常完成(如日志中显示elapsed=0.079 INFO: done),若任务未执行,需检查Sidekiq的定时任务配置。
内容的提问来源于stack exchange,提问作者Sajeeva Lakmal
相关产品推荐
相关产品推荐

