Traefik v2容器部署后Dashboard访问返回404页面问题求助
Traefik v2 Dashboard 出现404问题的排查与修复
核心问题定位
你的配置存在两处关键错误,直接导致Dashboard无法正常访问:
多余的服务端口配置
在docker-compose的labels中,你添加了traefik.http.services.traefik-traefik.loadbalancer.server.port=888,但traefik.http.routers.traefik.service=api@internal已经直接指向Traefik内置的API/Dashboard服务,不需要额外指定端口。这个冗余配置会覆盖内置服务的指向,导致路由无法找到正确的服务入口。acme.json 文件权限异常
Traefik需要对acme.json拥有读写权限,若文件不存在或权限不正确,会导致证书解析器失效,间接影响路由规则生效。
修复步骤
1. 删除错误的服务端口配置
修改docker-compose.yml的labels部分,移除以下行:
- "traefik.http.services.traefik-traefik.loadbalancer.server.port=888"
修改后的labels内容如下:
labels: - "traefik.enable=true" - "traefik.http.routers.traefik.entrypoints=https" - "traefik.http.routers.traefik.rule=Host(`traefik.DOMAIN.com`)" - "traefik.http.routers.traefik.tls=true" - "traefik.http.routers.traefik.tls.certresolver=letsEncrypt" - "traefik.http.routers.traefik.service=api@internal"
2. 修复acme.json权限
如果./ssl/acme.json文件不存在,先创建文件并设置正确权限:
mkdir -p ./ssl touch ./ssl/acme.json chmod 600 ./ssl/acme.json chown 1000:1000 ./ssl/acme.json
3. 验证域名解析
确保traefik.DOMAIN.com已正确解析到你的服务器公网IP,可通过以下命令验证:
nslookup traefik.DOMAIN.com
4. 重启Traefik容器
docker-compose down docker-compose up -d
额外检查项
- 查看Traefik日志排查潜在错误:
若日志出现证书相关报错,检查配置中的邮箱是否正确,以及服务器能否正常访问Let's Encrypt的ACME服务。docker logs traefik - 确认服务器80、443端口未被其他服务占用:
netstat -tulpn | grep -E ':(80|443)'
内容的提问来源于stack exchange,提问作者Roman Adigezalov
相关产品推荐
相关产品推荐

