You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派Docker部署Traefik后Web UI出现Server Not Found问题

解决Traefik子域名访问Server Not Found/路径访问404问题

根据你提供的日志和配置,ACME证书已经成功获取,问题应该出在DNS解析、网络配置或者Cloudflare的SSL设置上,下面是一步步的排查和解决方法:

1. 确认DNS解析配置

首先要确保你的子域名traefik.aomosk.com能正确解析到树莓派的公网IP:

  • 如果你给根域名aomosk.com设置了A记录,那traefik.aomosk.com需要设置为CNAME记录指向aomosk.com,或者单独给traefik.aomosk.com设置A记录指向公网IP。
  • 可以用nslookup traefik.aomosk.com或者dig traefik.aomosk.com在本地测试解析结果,确认返回的是你的公网IP。

2. 检查Cloudflare的SSL/TLS模式

如果你在Cloudflare开启了橙色云朵的CDN代理(默认是开启的),必须调整SSL模式:

  • 登录Cloudflare控制台,进入你的域名,找到SSL/TLS -> Overview,把模式设置为Full或者Full (strict)。
  • 不要用Flexible模式,因为这个模式下Cloudflare会用HTTP连接到你的Traefik,而你的Traefik配置了HTTP自动重定向到HTTPS,会导致访问循环或者错误。

3. 验证网络和端口转发

  • 路由器端口转发:确保你的路由器已经把80和443端口转发到树莓派的内网IP(比如192.168.x.x)。
  • 树莓派防火墙:如果开启了ufw,执行以下命令开放端口:
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    sudo ufw reload
    
    也可以临时关闭ufw测试:sudo ufw disable,确认是否是防火墙导致的问题。

4. 检查Traefik的网络配置

  • 确认traefik_proxy网络存在:执行docker network ls,如果没有这个网络,创建它:
    docker network create traefik_proxy
    
  • 你的Traefik容器已经加入了traefik_proxy网络,并且labels里指定了traefik.docker.network=traefik_proxy,这个配置是正确的,确保Traefik能通过这个网络访问自身的8080端口。

5. 关于日志里的Cloudflare清理错误

日志里的Error cleaning up aomosk.com: Cloudflare API Error 81061: The record does not exist是小问题,不影响证书使用。这是Traefik在完成DNS验证后尝试删除临时的_acme-challenge记录,但该记录已经不存在了。如果想解决,确保你的Cloudflare API Key拥有Zone DNS编辑权限(而不是只读)。

测试访问

完成以上步骤后,重启Traefik容器:

sudo docker-compose down && sudo docker-compose up -d

然后访问https://traefik.aomosk.com,应该能看到Traefik的Web UI(需要输入你在.htpasswd里设置的账号密码)。

如果还是有问题,可以打开Traefik的debug日志(把logLevel = "ERROR"改成logLevel = "DEBUG"),查看更详细的请求处理日志,定位具体问题。

内容的提问来源于stack exchange,提问作者cm_peewee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:24:48