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

拆分Docker栈后,Traefik中为Authelia配置trustedIPs的正确值是什么?

拆分Docker栈后,Traefik中为Authelia配置trustedIPs的正确值是什么?

看起来你遇到的核心问题是:拆分栈之后,Traefik没有正确信任Authelia所在的Docker自定义网络IP,导致它把Authelia转发过来的请求里的身份验证相关头(比如X-Forwarded-User、X-Forwarded-Email)给移除了,Calibre-web识别不到你已经通过Authelia验证,所以才会反复要求登录。

解决步骤:

  1. 先找到你的proxy自定义网络的IP子网
    运行这条命令查看网络详情:

    docker network inspect proxy
    

    在输出里找到IPAM -> Config下的Subnet字段,比如类似这样的结果:

    "IPAM": {
        "Driver": "default",
        "Options": {},
        "Config": [
            {
                "Subnet": "172.22.0.0/16",
                "Gateway": "172.22.0.1"
            }
        ]
    }
    

    这里的172.22.0.0/16就是你需要的信任IP段。

  2. 在Traefik的配置中添加这个信任IP段
    修改Traefik服务的command配置,加入--entrypoints.websecure.forwardedHeaders.trustedIPs参数,把刚才查到的子网填进去。比如修改后的command部分:

    command:
      - --api.insecure=true
      - --providers.docker
      - --entrypoints.web.address=:80
      - --entrypoints.websecure.address=:443
      - --certificatesresolvers.letsencrypt.acme.email=${LE_EMAIL}
      - --certificatesresolvers.letsencrypt.acme.storage=/config/acme.json
      - --certificatesresolvers.letsencrypt.acme.tlschallenge=true
      - --log.filePath=/var/log/traefik.log
      - --log.level=DEBUG
      - --providers.file.directory=/dynamic_config/
      - --providers.file.watch=true
      # 添加这一行,替换成你查到的子网
      - --entrypoints.websecure.forwardedHeaders.trustedIPs=172.22.0.0/16
    
  3. 额外检查动态配置文件
    如果你在dynamic_config目录里有自定义的中间件配置(比如涉及forwardedHeaders的规则),也要确保那里的trustedIPs包含这个子网,避免配置冲突。

  4. 重启Traefik服务
    重新部署Traefik栈,之后再访问Calibre-web应该就不会反复要求验证了。

为什么单栈时不需要这个配置?

单栈模式下,Traefik、Authelia和Calibre-web都在同一个默认Docker网络里,Traefik默认会信任同网络内的请求来源,所以不会移除关键的身份验证头。拆分栈后,虽然大家都连接到proxy自定义网络,但Traefik需要明确被告知要信任这个网络的IP段,才会保留这些头信息。

备注:内容来源于stack exchange,提问作者Auspex

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 14:07:58