#13261·traefik

如果 Docker 设置为 allowEmptyServices,则对不健康的容器会产生 500 内部服务器错误

作者: kodebach创建于 2026年6月1日更新于 2026年9月17日
标签area/provider/dockerkind/bug/possiblecontributor/wanted

欢迎光临!

  • 是的,我在GitHub上搜索过类似的问题,没有发现任何问题。
  • 在[Traefik社区论坛](https://community.

你做了什麽?

我们用Docker供应商

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? 提供者 : 赞美。 终点:"unix:///var/run/Docker.sock" (中文(简体) ). 曝光By 默认: 错误 网络: treefik 允许Empty Services: true (英语). 文件 : 目录:/etc/traefik/动态


预期一个503个服务不可用,当一个Docker容器变得不健康时(加上`allowEmptyServices: false',我们看到预期的404没有找到)。

你看见了什么?

只要容器健康,一切都正常 所以我猜我们的配置是正确的

但是,当容器不健康时,我们得到一个500个内部服务器错误,上面有以下日志信息

{"级别":"调试" "时间":"2026-06-01T16:52:40+02:00",呼号:"GitHub.com/traefik/traefik/v3/pkg/server/service/loadlabger/wrr.go:251"","消息":"WRR所选择的服务:"} {"级别":"调试","error":"不支持的协议方案","时间":"2026-06-01T16:52:40+02:00",调用器:"GitHub.com/traefik/traefik/v3/pkg/proxy.go:182","消息":"500 内部服务器出错";



在集装箱变得不健康的时候,我们也看到有下列内容的"图形接收"日志信息:

{"load Balancer":{"servers":"战略":"rr","passHost Header":"real","reswerforwarding":{"flushInterval":"100ms" }}}.


我猜,`服务器'中的空条目混淆了代码的某个部分,它期望有一个空列表,而不是一个单有空条目的列表。 AFAIK 空条目被读取,代理代码试图加载URL""(空字符串),然后抱怨无效的(空)URL方案.

你用什么版本的特拉菲克语?

版本:3.7.1 代码: langres 前进版本: go1.25.10 车站建于:2026-05-11T13:15:43Z OS/Arch: linux/amd64 (英语).


您的环境配置是什么 ?

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
条目点 :
网络 :
地址:80
页:1
重定向 :
条目点 :
到:网络安全

网络安全 :
地址:443
http3: {}.
页:1
转子 :
证书解析器: 默认

访问日志 :
格式:常见
filePath: /var/log/traefik/access.log 页面存档备份,存于互联网档案馆.
日志 :
级别:DEBUG
格式: json 语句

提供者 :
ZZ8:
终点:"unix:///var/run/Docker.sock"
曝光By 默认: 错误
网络: treefik
允许Empty Services: true (英语).
文件 :
目录:/etc/traefik/动态

证书解析器 :
默认 :
坐标:
电子邮件:***
储存:/var/lib/traefik/acme.json
挑战:                                   

api: {}
p:{}.

在此添加更多配置信息 。

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? #/etc/traefik/动力学/traefik-api.yml 页:1 路由器 : 仪表板 : 规则:主机(127.0.0.1') QQ (PathPrefix(/api') QQ PathPrefix(`/dashboard')) : 服务 : . . . . . . .

内容来源: traefik/traefik