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

Traefik 2使用负载均衡时连接被拒、返回404及自动跳转HTTPS问题咨询

问题原因及修复方案

1. 404错误修复

首先排查以下几个配置错误点:

  • Host匹配规则格式错误
    Host规则仅校验请求的Host头字段,不需要携带协议前缀,你的路由规则存在写法错误:
    原错误配置:
rule: "Host(`http://demo.lab.local`)"

修正为:

rule: "Host(`demo.lab.local`)"
  • 确认规则文件已被正常加载
    你配置了文件类型的配置提供器,指定读取容器内/rules目录的规则,需要确认启动Traefik容器时,已将本地存放规则文件的目录挂载到容器的/rules路径,否则规则不会被Traefik加载。你可以访问Traefik的8080端口后台(已开启api.insecure=true),在HTTP Routers列表查看是否存在demo_1-rtr路由,确认规则是否生效。
  • 确认请求携带正确的Host头
    访问时需要保证请求的域名是demo.lab.local,可以在本地hosts文件添加记录[Traefik服务器IP] demo.lab.local,或者使用curl命令直接测试:
curl -H "Host:demo.lab.local" http://[Traefik服务器IP]

2. HTTPS重定向问题排查

你当前的Traefik配置没有配置HTTP强制跳转HTTPS的全局规则或路由级规则,重定向行为不属于Traefik的返回结果,排查方向如下:

  • 后端服务本身配置了HTTPS跳转逻辑,可直接在Traefik容器内执行以下命令验证后端响应:
curl -v http://172.16.9.90:16000

如果后端返回301/302状态码且Location字段为HTTPS开头的地址,就是后端服务本身的跳转逻辑,调整后端配置即可。

  • 浏览器本地缓存了HSTS规则导致强制跳转HTTPS,可使用浏览器无痕模式或者curl命令测试,排除缓存干扰。

3. 多负载节点配置方法

要为负载均衡器添加多个节点,直接在对应service的loadBalancer.servers下新增多个服务url即可,示例如下:

services:
  demo_1:
    loadBalancer:
      servers:
        - url: "http://172.16.9.90:16000"
        - url: "http://172.16.9.91:16000"
        - url: "http://172.16.9.92:16000"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 12:27:03