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

树莓派Docker Swarm部署Traefik遇HTTPS连接及认证问题求助

解决Traefik v1.3在Docker Swarm中的认证与HTTPS问题

针对你遇到的两个核心问题,以及关于/etc/traefik目录的疑问,我整理了以下排查和解决步骤:

1. 修复HTTP UI的用户名/密码验证失败问题

你的配置中traefik.frontend.auth.basic的值格式可能有误,导致凭证无法被正确解析:

  • 确保使用正确的htpasswd生成格式:运行htpasswd -nb <你的用户名> <你的密码>生成加密后的凭证字符串,比如输出会是user:$apr1$Z7WxQeUY$EoX076t6b0E8G7eL3c4d5F。不要使用带-c的命令(那会创建文件),直接复制这个生成的完整字符串。
  • 修正Docker部署标签的格式:把traefik.frontend.auth.basic的值用引号包裹,避免特殊字符被解析错误,比如:
    deploy:
      labels:
        - traefik.port=8080
        - traefik.frontend.rule=PathPrefix:/ui,/system,/function
        - "traefik.frontend.auth.basic=user:$apr1$Z7WxQeUY$EoX076t6b0E8G7eL3c4d5F"
    
  • 重启Traefik服务:修改配置后,执行docker stack deploy -c docker-compose.yml <你的栈名>重新部署,确保新配置生效。

2. 解决HTTPS无法连接的问题

关于/etc/traefik目录的疑问

你在主机上找不到/etc/traefik是正常的:因为你的配置中使用了Docker卷acme:/etc/traefik/acme,这个目录是存在于Docker管理的卷中,而不是主机的文件系统里。你可以通过docker volume inspect acme查看卷的具体位置,不需要手动在主机创建/etc/traefik目录。

HTTPS连接失败的核心原因及修复:

  • IP无法通过HTTPS访问:Let's Encrypt(ACME)不会为IP地址签发证书,所以https://192.168.1.20/ui必然无法建立有效连接,只能用你在--acme.domains中配置的域名访问。
  • 确保域名解析与公网可达:
    1. 确认你的域名已经正确解析到192.168.1.20(如果是内网环境,需要确保内网DNS解析正确;如果是公网,要确保域名指向你的公网IP,且80/443端口没有被防火墙拦截)。
    2. Let's Encrypt的HTTP-01挑战需要从公网访问你的80端口,如果你处于内网环境,可能需要使用端口映射或者改用DNS-01挑战(Traefik v1.3支持,但配置更复杂)。
  • 修正Traefik EntryPoints的配置格式:你的command参数中,EntryPoints的写法可能导致解析错误,建议用引号包裹每个EntryPoint的完整配置:
    command: -c --docker=true --docker.swarmmode=true --docker.domain=traefik --docker.watch=true --web=true --debug=true --defaultEntryPoints=https,http --acme=true --acme.domains='<你的域名>' --acme.email=myemail@gmail.com --acme.ondemand=true --acme.onhostrule=true --acme.storage=/etc/traefik/acme/acme.json --entryPoints='Name:http Address::80 Redirect.EntryPoint:https' --entryPoints='Name:https Address::443 TLS'
    
  • 查看Traefik日志排查错误:执行docker service logs <你的Traefik服务名>查看日志,重点关注ACME相关的错误信息(比如验证失败、证书无法生成等),这能帮你定位具体问题。

额外建议

考虑到Traefik v1.3已经是非常老旧的版本(停止维护多年),如果可能的话,建议升级到Traefik v2.x或v3.x,新版本的配置更清晰,bug更少,且ACME支持更完善。不过如果你需要遵循OpenFaaS的旧指南,上述步骤应该能解决当前问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:35:59