如果 Docker 设置为 allowEmptyServices,则对不健康的容器会产生 500 内部服务器错误
欢迎光临!
- 是的,我在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