traefik v3.7.0-ea.1 版本更新介绍
发布日期: 2026-03-12
版本号: v3.7.0-ea.1
Traefik 发布了新版本更新,主要包含以下内容:在功能增强方面,新增了支持标准输出访问日志、ACME 证书超时配置、Kubernetes Ingress NGINX 注解支持、TraefikService 的故障转移、服务中间件、仪表盘名称配置等多项改进。修复了包括 ACME 证书更新、Docker API 版本协商、健康检查路径验证、TLS 握手错误、多层路由、以及多个组件依赖版本升级在内的多个问题。同时,文档也得到了广泛更新,涵盖配置说明、迁移指南、RBAC 设置、编码字符处理等方面,并修正了多处错误和表述不清之处。
更新内容 (中文)
增强功能:
- [accesslogs, otel] 允许在OTLP日志记录的同时记录标准输入输出访问日志 (#12307 @Mulgish)
- [acme] 新增CertificateTimeout ACME配置选项 (#12278 @ceko)
- [k8s/ingress-nginx] 支持nginx.ingress.kubernetes.io/allowlist-source-range注解 (#12659 @ris-tlp)
- [k8s/crd] 在CRDs规格中新增ingressClassName字段 (#12313 @kkrypt0nn)
- [k8s/crd] 在TraefikService CRD中支持服务故障转移 (#12733 @jspdown)
- [k8s/crd, service] 支持通过ServersTransport配置加密套件 (#11965 @NEwa-05)
- [k8s/ingress, middleware, k8s/crd, service, k8s/gatewayapi] 在HTTP后端上支持服务中间件和Gateway API过滤器 (#12544 @juliens)
- [k8s/ingress-nginx] 新增nginx.ingress.kubernetes.io/proxy-connect-timeout注解 (#12572 @gndz07)
- [k8s/ingress-nginx] 新增rewrite-target nginx注解支持 (#12534 @LBF38)
- [k8s/ingress-nginx] 新增app-root注解支持 (#12576 @LBF38)
- [k8s/ingress-nginx] 新增auth-signin注解支持 (#12502 @DesalLama)
- [k8s/ingress-nginx] 新增from-to-www-redirect NGINX注解支持 (#12610 @LBF38)
- [k8s/ingress-nginx] 新增proxy-read-timeout和proxy-send-timeout NGINX注解支持 (#12630 @LBF38)
- [k8s/ingress-nginx] 新增session-cookie-expires nginx注解支持 (#12558 @LBF38)
- [k8s/ingress-nginx] 新增upstream-hash-by NGINX注解支持 (#12749 @LBF38)
- [k8s/ingress-nginx] 允许在Nginx Ingress上指定入口点 (#12727 @ajacques)
- [k8s/ingress-nginx] 实现proxy-http-version注解 (#12743 @KshitijBharde)
- [k8s/ingress-nginx] Nginx x-forwarded-prefix注解 (#12697 @nandorKollar)
- [k8s/ingress-nginx] 支持auth-tls-secret和auth-tls-verify-client注解 (#12595 @gndz07)
- [k8s/ingress-nginx] 支持ingress-nginx的limit-rpm注解 (#12703 @Ph4rell)
- [k8s/ingress-nginx] 支持Ingress NGINX的limit-rps注解 (#12709 @amazon7737)
- [k8s/ingress-nginx] 支持NGINX缓冲注解 (#12459 @blasko03)
- [k8s/ingress-nginx] 支持NGINX金丝雀注解 (#12739 @kevinpollet)
- [k8s/ingress-nginx] 支持NGINX自定义头注解 (#12414 @nandorKollar)
- [k8s/ingress-nginx] 支持NGINX upstream-vhost注解 (#12412 @nandorKollar)
- [k8s/ingress-nginx] 支持NGINX whitelist-source-range注解 (#12423 @blasko03)
- [k8s/ingress-nginx] 支持permanent-redirect和temporal-redirect注解 (#12561 @LBF38)
- [k8s/ingress-nginx] 支持proxy-next-upstream*注解 (#12710 @gndz07)
- [k8s/ingress-nginx] 支持Ingress NGINX的server-alias注解 (#12707 @amazon7737)
- [k8s/ingress-nginx] 支持upstream-keepalive-timeout (#12708 @jcob-sikorski)
- [k8s/ingress-nginx] 新增auth-signin NGINX注解中的变量插值支持 (#12640 @LBF38)
- [k8s/ingress-nginx] 实现server-snippet和configuration-snippet注解 (#12715 @juliens)
- [k8s/ingress-nginx] 新增custom-http-errors和default-backend注解 (#12637 @juliens)
- [k8s/ingress-nginx] 支持auth-tls-pass-certificate-to-upstream注解 (#12629 @gndz07)
- [metrics] 支持metrics.influxdb2.token选项的文件路径 (#12458 @barhun)
- [middleware] 新增encodedCharacters中间件 (#12555 @gndz07)
- [middleware] 支持基于HTTP响应状态码、超时和非幂等方法进行重试 (#12667 @LBF38)
- [middleware, authentication] 在forward auth中间件中新增authSignInURL (#12293 @kyounghunJang)
- [server] 新增禁用X-Forwarded-For附加的全局选项 (#12374 @lbenguigui)
- [server] 在循环中使用更高效的SplitSeq替换Split (#12316 @boqishan)
- [service] 根据响应状态码进行故障转移 (#12596 @lbenguigui)
- [tls] 使TLSStore能优雅处理缺失的secrets (#12522 @david-garcia-garcia)
- [webui] 新增仪表板名称配置 (#12410 @gndz07)
- [webui] Web UI仪表板改进 (#12236 @gndz07)
- [webui] 详情页面UI改进 (#12377 @gndz07)
- 使用unicode.MaxASCII进行更清晰的ASCII检查 (#12741 @1911860538)
错误修复:
- [acme] 新增缺失的续订选项 (#12467 @ldez)
- [acme] 为ACME-TLS/1质询握手添加超时 (#12516 @LBF38)
- [acme] 调整TLS续订周期 (#12479 @LtHummus)
- [acme] 将github.com/go-acme/lego/v4升级至v4.28.0 (#12218 @ldez)
- [acme] 将github.com/go-acme/lego/v4升级至v4.29.0 (#12333 @ldez)
- [acme] 将github.com/go-acme/lego/v4升级至v4.30.1 (#12432 @ldez)
- [acme] 将github.com/go-acme/lego/v4升级至v4.31.0 (#12529 @ldez)
- [acme] 将github.com/go-acme/lego/v4升级至v4.32.0 (#12702 @ldez)
- [acme] 移除日志中无效的私钥 (#12574 @juliens)
- [acme] 替换日志消息中对LetsEncrypt的硬编码引用 (#12464 @schildbach)
- [cli] 修复健康检查ping (#12512 @olamilekan000)
- [docker] 自动协商Docker API版本 (#12256 @felixbuenemann)
- [docker] 升级Docker和OpenTelemetry依赖 (#12761 @mmatur)
- [docker, docker/swarm] 自动协商Docker API版本 (#12262 @kevinpollet)
- [fastproxy] 将github.com/valyala/fasthttp升级至v1.69.0 (#12763 @kevinpollet)
- [healthcheck] 拒绝健康检查路径配置中的绝对URL (#12653 @rtribotte)
- [healthcheck] 验证健康检查路径配置 (#12642 @rtribotte)
- [healthcheck, grpc] 移除grpc健康检查中的路径解析 (#12760 @rtribotte)
- [http3] 将github.com/quic-go/quic-go升级至v0.57.0 (#12308 @GreyXor)
- [http3] 将github.com/quic-go/quic-go升级至v0.57.1 (#12319 @GreyXor)
- [http3] 将github.com/quic-go/quic-go升级至v0.58.0 (#12448 @GreyXor)
- [http3] 将github.com/quic-go/quic-go升级至v0.59.0 (#12553 @jnoordsij)
- [k8s] 修复用于服务端点和隔离端点的条件 (#12521 @LBF38)
- [k8s/gatewayapi] 修复Gateway API路由器的规则 (#12753 @rtribotte)
- [k8s/ingress] 修复空defaultBackend和无资源defaultBackend的panic问题 (#12509 @gndz07)
- [k8s/ingress-nginx] 为控制自定义头注解新增AllowCrossNamespaceResources和GlobalAllowedResponseHeader选项 (#12680 @rtribotte)
- [k8s/ingress-nginx] 废弃Kubernetes Ingress NGINX提供程序的实验性标志 (#12286 @rtribotte)
- [k8s/ingress-nginx] 修复nginx重写目标 (#12730 @mmatur)
- [k8s/ingress-nginx] 修复NGINX sslredirect注解支持 (#12387 @rtribotte)
- [k8s/ingress-nginx] 修复nginx.ingress.kubernetes.io/proxy-ssl-verify注解支持 (#12351 @rtribotte)
- [k8s/ingress-nginx] 修复SSL重定向以匹配NGINX行为 (#12361 @mmatur)
- [k8s/ingress-nginx] 修复ingress-nginx提供程序的服务名称 (#12352 @mmatur)
- [k8s/ingress-nginx] 修复use-regex nginx注解 (#12531 @LBF38)
- [k8s/ingress-nginx] 防止Ingress Nginx提供程序的http路由器附加到带TLS的入口点 (#12528 @rtribotte)
- [metrics, tracing, accesslogs] 修复ObservabilityConfig SetDefaults (#12636 @mmatur)
- [middleware] 修复Connection的x-forwarded头的大小写敏感性 (#12690 @LBF38)
- [middleware] 修复当stsSeconds为0时HasSecureHeadersDefined返回false的问题 (#12684 @veeceey)
- [middleware, authentication] 在forwardAuth中间件中新增maxResponseBodySize配置 (#12694 @gndz07)
- [middleware, authentication] 将ForwardAuth错误日志级别从DEBUG更改为ERROR (#12324 @murataslan1)
- [middleware, authentication] 处理空/缺失的User-Agent头 (#12545 @a-stangl)
- [middleware, k8s, k8s/ingress-nginx] 修复from to www nginx注解 (#12736 @mmatur)
- [middleware, k8s/ingress-nginx] 修复ingress-nginx提供程序的自定义错误页面行为 (#12738 @mmatur)
- [otel] 升级go.opentelemetry.io/otel依赖 (#12754 @rtribotte)
- [plugins] 验证插件模块名称 (#12291 @kevinpollet)
- [redis] 修复Redis的互斥验证 (#12442 @juliens)
- [server] 将golang.org/x/crypto升级至v0.45.0 (#12296 @kevinpollet)
- [server] 将golang.org/x/net升级至v0.51.0 (#12756 @kevinpollet)
- [server] 在弃用加载器中使用file和env过滤未知节点 (#12227 @rtribotte)
- [server] 修复拒绝编码字符的问题 (#12454 @rtribotte)
- [server] 修复拒绝编码字符的问题 (#12457 @rtribotte)
- [server] 修复使用模型时的多层路由问题 (#12258 @juliens)
- [server] 修复TLS握手错误处理 (#12692 @juliens)
- [server] 使编码字符选项成为可选启用 (#12540 @gndz07)
- [server] 使聚合器计算路由器parentRefs的提供程序命名空间 (#12235 @rtribotte)
- [server] 为被拒绝的请求打印访问日志并警告新行为 (#12424 @kevinpollet)
- [server] 为被拒绝的请求打印访问日志并警告新行为 (#12426 @rtribotte)
- [server] 拒绝可疑的编码字符 (#12360 @rtribotte)
- [server] 在STARTTLS协商后移除连接超时 (#12639 @rtribotte)
- [service] 避免服务中的递归 (#12591 @juliens)
- [tls] 修复verifyServerCertMatchesURI函数行为 (#12575 @kevinpollet)
- [tls, server] 在ClientHello窥探中将TLS记录长度限制为RFC 8446限制 (#12638 @mmatur)
- [tracing, otel] 使用ParentBased采样器以尊重父span采样决策 (#12403 @xe-leon)
- [udp] 撤销“通过在readLoop中使用sync.Pool避免分配” (#12267 @kevinpollet)
- [webui] 升级文档和webui的依赖 (#12581 @gndz07)
- [webui] 修复仪表板模板的basePath验证 (#12729 @gndz07)
- [webui] 修复Safari上的导航阻塞 (#12231 @gndz07)
- [webui] 修复缺失的类型定义 (#12780 @gndz07)
- [webui] 修复仪表板中的优先级显示和ACME旁路重定向 (#12740 @mmatur)
- [webui] 恢复远程升级到Hub按钮web组件 (#12219 @gndz07)
- [webui] 使用url.Parse验证X-Forwarded-Prefix值 (#12643 @kevinpollet)
- [webui] 验证仪表板重定向的X-Forwarded-Prefix值 (#12514 @LBF38)
文档:
- [acme] 新增缺失的ACME选项并清理表格以提高可见性 (#12208 @sheddy-traefik)
- [api] 修复API仪表板配置说明中的错别字 (#12335 @NAICOLAS)
- [docker] 为Docker和Swarm提供程序中的loadbalancer.server.url添加文档 (#12289 @webash)
- [docker] 更新docker深入设置指南 (#12682 @mdevino)
- [docker/swarm] 更新swarm.md traefik版本 (#12508 @DBouraoui)
- [k8s] 修复Gateway API版本和支持的功能列表 (#12254 @nmengin)
- [k8s] 修复Kubernetes参考yml文件 (#12406 @mmatur)
- [k8s] 修复kubernetes.md中的正确http重定向 (#12603 @MartenM)
- [k8s] 修复Nginx提供程序文档 (#12266 @nmengin)
- [k8s] 改进K8S多租户安全说明 (#12444 @nmengin)
- [k8s] 使labelSelector选项大小写更一致 (#12658 @holysoles)
- [k8s, k8s/ingress-nginx] 为Ingress NGINX RBAC添加configmaps权限 (#12557 @kevinpollet)
- [k8s/gatewayapi] 修复Helm chart值引用providers.kubernetesGateway.enabled的链接 (#12315 @shouhei)
- [k8s/ingress, k8s] 修复Kubernetes Ingress提供程序文档 (#12443 @nmengin)
- [k8s/ingress-nginx] 将auth-signin添加到不支持的nginx注解列表 (#12370 @fibsifan)
- [k8s/ingress-nginx] 为Ingress NGINX提供程序添加RBAC文档 (#12445 @nmn3m)
- [k8s/ingress-nginx] 添加临时说明以预告即将引入的NGINX注解 (#12699 @nmengin)
- [k8s/ingress-nginx] 修复文档中ingress-nginx提供程序的默认值 (#12328 @mloiseleur)
- [k8s/ingress-nginx] 修复ingress-nginx注解文档 (#12510 @nmengin)
- [k8s/ingress-nginx] 改进ingress-nginx提供程序文档 (#12288 @sheddy-traefik)
- [k8s/ingress-nginx] 改进Kubernetes ingress-nginx提供程序的配置选项显示 (#12297 @mloiseleur)
- [k8s/ingress-nginx] NGINX Ingress Controller到Traefik的迁移指南 (#12318 @sheddy-traefik)
- [middleware] 更正摘要认证的文档 (#12651 @Zash)
- [middleware] 修复压缩中间件中的默认编码 (#12216 @Belphemur)
- [middleware, k8s/crd] 修复Kubernetes CRD的errors中间件文档 (#12600 @yuito-it)
- [service] 修复最高随机权重负载均衡器文档 (#12283 @ozon2)
- [tls] 澄清SNI选择 (#12482 @AnuragEkkati)
- 添加@gndz07为当前维护者 (#12594 @emilevauge)
- 在变更日志中添加破坏性更改说明 (#12398 @nmengin)
- 添加关于checkNewVersion的文档 (#12298 @darkweaver87)
- 为TOML表名添加缺失的
.http(#12713 @Darsstar) - 添加产品比较矩阵和功能页面 (#12037 @sheddy-traefik)
- 在API & 仪表板文档页面恢复安全部分 (#12507 @gndz07)
- 澄清关于拒绝编码字符的文档 (#12391 @rtribotte)
- 清理菜单条目并更新Expose概述 (#12405 @sheddy-traefik)
- 更正entrypoints.md中的编码字符允许规则 (#12679 @Apflkuacha)
- 正确格式化HTTP服务文档 (#12311 @sheddy-traefik)
- 记录路由器的负优先级支持 (#12505 @understood-the-assignment)
- 在v3迁移指南中记录路径匹配器占位符移除 (#12570 @sheddy-traefik)
- 修复API basepath选项文档 (#12744 @nmengin)
- 修复TCP服务和HTTP路由器文档中的失效链接 (#12215 @sheddy-traefik)
- 修复代码复制按钮定位 (#12520 @AnuragEkkati)
- 修复编码字符entryPoint选项文档 (#12384 @rtribotte)
- 修复编码字符选项文档 (#12373 @kevinpollet)
- 修复encodedCharacters entryPoint选项文档 (#12385 @rtribotte)
- 修复entrypoints文档中不正确的TOML示例 (#12711 @mfmfuyu)
- 修复Traefik Proxy文档中的链接描述 (#12488 @schaerfo)
- 修复菜单项命名 (#12431 @sheddy-traefik)
- 修复迁移指南缩进 (#12365 @kevinpollet)
- 修复弃用通知中的迁移指南URL (#12430 @alexmar07)
- 修复kubernetes.md中的错别字 (#12515 @EdwardSalkeld)
- 修复v3.6迁移指南中的错别字 (#12212 @jnoordsij)
- 修复JWT文档中的错别字 (#12616 @mdevino)
- 改进服务参考页面 (#12541 @sheddy-traefik)
- 改进路由参考页面的结构 (#12429 @sheddy-traefik)
- 增加文档内容宽度 (#12632 @tobiasge)
- 移除迁移指南中的多余点 (#12573 @rtribotte)
- 移除迁移指南中多余的点 (#12571 @dathbe)
- 恢复关于http.maxHeaderBytes的文档 (#12440 @mloiseleur)
- 拆分Expose用户指南并新增多层路由部分 (#12238 @sheddy-traefik)
- 更新配置概述页面 (#12202 @sheddy-traefik)
- 更新SECURITY.md (#12304 @cwayne18)
- 更新SECURITY.md以精简信息 (#12310 @emilevauge)
更新内容 (原始)
Enhancements:
- [accesslogs, otel] Allow Stdio access logs alongsige OTLP logging (#12307 @Mulgish)
- [acme] Add CertificateTimeout ACME configuration option (#12278 @ceko)
- [k8s/ingress-nginx] Support nginx.ingress.kubernetes.io/allowlist-source-range (#12659 @ris-tlp)
- [k8s/crd] Add ingressClassName field to the CRDs spec (#12313 @kkrypt0nn)
- [k8s/crd] Service failover support in TraefikService CRD (#12733 @jspdown)
- [k8s/crd, service] Support cipher suites configuration with ServersTransport (#11965 @NEwa-05)
- [k8s/ingress, middleware, k8s/crd, service, k8s/gatewayapi] Services middleware and Gateway API filters on HTTP backends (#12544 @juliens)
- [k8s/ingress-nginx] Add nginx.ingress.kubernetes.io/proxy-connect-timeout annotation (#12572 @gndz07)
- [k8s/ingress-nginx] Add rewrite-target nginx annotations support (#12534 @LBF38)
- [k8s/ingress-nginx] Add support for app-root nginx annotation (#12576 @LBF38)
- [k8s/ingress-nginx] Add support for auth-signin annotation (#12502 @DesalLama)
- [k8s/ingress-nginx] Add support for from-to-www-redirect NGINX annotation (#12610 @LBF38)
- [k8s/ingress-nginx] Add support for proxy-read-timeout and proxy-send-timeout NGINX annotations (#12630 @LBF38)
- [k8s/ingress-nginx] Add support for session-cookie-expires nginx annotation (#12558 @LBF38)
- [k8s/ingress-nginx] Add support for upstream-hash-by NGINX annotation (#12749 @LBF38)
- [k8s/ingress-nginx] Allow entry points to be specified on Nginx Ingresses (#12727 @ajacques)
- [k8s/ingress-nginx] Implement proxy-http-version annotation (#12743 @KshitijBharde)
- [k8s/ingress-nginx] Nginx x-forwarded-prefix annotation (#12697 @nandorKollar)
- [k8s/ingress-nginx] Support auth-tls-secret and auth-tls-verify-client annotations (#12595 @gndz07)
- [k8s/ingress-nginx] Support limit-rpm annotation for ingress-nginx (#12703 @Ph4rell)
- [k8s/ingress-nginx] Support limit-rps annotation for Ingress NGINX (#12709 @amazon7737)
- [k8s/ingress-nginx] Support NGINX buffering annotations (#12459 @blasko03)
- [k8s/ingress-nginx] Support NGINX canary annotations (#12739 @kevinpollet)
- [k8s/ingress-nginx] Support NGINX custom-headers annotation (#12414 @nandorKollar)
- [k8s/ingress-nginx] Support NGINX upstream-vhost annotation (#12412 @nandorKollar)
- [k8s/ingress-nginx] Support NGINX whitelist-source-range annotation (#12423 @blasko03)
- [k8s/ingress-nginx] Support permanent-redirect and temporal-redirect annotations (#12561 @LBF38)
- [k8s/ingress-nginx] Support proxy-next-upstream* annotations (#12710 @gndz07)
- [k8s/ingress-nginx] Support server-alias annotation for Ingress NGINX (#12707 @amazon7737)
- [k8s/ingress-nginx] Support upstream-keepalive-timeout (#12708 @jcob-sikorski)
- [k8s/ingress-nginx] Add support for variable interpolation in auth-signin NGINX annotation (#12640 @LBF38)
- [k8s/ingress-nginx] Implement server-snippet and configuration-snippet annotations (#12715 @juliens)
- [k8s/ingress-nginx] Add custom-http-errors and default-backend annotations (#12637 @juliens)
- [k8s/ingress-nginx] Support auth-tls-pass-certificate-to-upstream annotation (#12629 @gndz07)
- [metrics] Support file path for metrics.influxdb2.token option (#12458 @barhun)
- [middleware] Add encodedCharacters middleware (#12555 @gndz07)
- [middleware] Enable retries based on HTTP response status codes, timeout, and non-idempotent methods (#12667 @LBF38)
- [middleware, authentication] Add authSignInURL in forward auth middleware (#12293 @kyounghunJang)
- [server] Add global option to disable X-Forwarded-For appending (#12374 @lbenguigui)
- [server] Replace Split in loops with more efficient SplitSeq (#12316 @boqishan)
- [service] Failover according to response status code (#12596 @lbenguigui)
- [tls] Make TLSStore gracefully handle missing secrets (#12522 @david-garcia-garcia)
- [webui] Add dashboard name configuration (#12410 @gndz07)
- [webui] Web UI dashboard improvements (#12236 @gndz07)
- [webui] Details pages UI improvement (#12377 @gndz07)
- Use unicode.MaxASCII for clearer ASCII check (#12741 @1911860538)
Bug fixes:
- [acme] Add missing renew options (#12467 @ldez)
- [acme] Add timeout to ACME-TLS/1 challenge handshake (#12516 @LBF38)
- [acme] Alter TLS renewal period (#12479 @LtHummus)
- [acme] Bump github.com/go-acme/lego/v4 to v4.28.0 (#12218 @ldez)
- [acme] Bump github.com/go-acme/lego/v4 to v4.29.0 (#12333 @ldez)
- [acme] Bump github.com/go-acme/lego/v4 to v4.30.1 (#12432 @ldez)
- [acme] Bump github.com/go-acme/lego/v4 to v4.31.0 (#12529 @ldez)
- [acme] Bump github.com/go-acme/lego/v4 to v4.32.0 (#12702 @ldez)
- [acme] Remove invalid private key in log (#12574 @juliens)
- [acme] Replace hardcoded references to LetsEncrypt in log messages (#12464 @schildbach)
- [cli] Fix health check ping (#12512 @olamilekan000)
- [docker] Auto-negotiate Docker API Version (#12256 @felixbuenemann)
- [docker] Bump Docker and OpenTelemetry dependencies (#12761 @mmatur)
- [docker, docker/swarm] Auto-negotiate Docker API version (#12262 @kevinpollet)
- [fastproxy] Bump github.com/valyala/fasthttp to v1.69.0 (#12763 @kevinpollet)
- [healthcheck] Reject absolute URL in healthcheck path configuration (#12653 @rtribotte)
- [healthcheck] Validate healthcheck path configuration (#12642 @rtribotte)
- [healthcheck, grpc] Remove path parsing with grpc healthcheck (#12760 @rtribotte)
- [http3] Bump github.com/quic-go/quic-go to v0.57.0 (#12308 @GreyXor)
- [http3] Bump github.com/quic-go/quic-go to v0.57.1 (#12319 @GreyXor)
- [http3] Bump github.com/quic-go/quic-go to v0.58.0 (#12448 @GreyXor)
- [http3] Bump github.com/quic-go/quic-go to v0.59.0 (#12553 @jnoordsij)
- [k8s] Fix condition used for serving and fenced endpoints (#12521 @LBF38)
- [k8s/gatewayapi] Fix Gateway API router’s rules (#12753 @rtribotte)
- [k8s/ingress] Fix panic for empty defaultBackend and defaultBackend without resources (#12509 @gndz07)
- [k8s/ingress-nginx] Add AllowCrossNamespaceResources and GlobalAllowedResponseHeader options to control custom headers annotations (#12680 @rtribotte)
- [k8s/ingress-nginx] Deprecate Kubernetes Ingress NGINX provider experimental flag (#12286 @rtribotte)
- [k8s/ingress-nginx] Fix nginx rewrite target (#12730 @mmatur)
- [k8s/ingress-nginx] Fix NGINX sslredirect annotation support (#12387 @rtribotte)
- [k8s/ingress-nginx] Fix nginx.ingress.kubernetes.io/proxy-ssl-verify annotation support (#12351 @rtribotte)
- [k8s/ingress-nginx] Fix SSL redirect to match NGINX behavior (#12361 @mmatur)
- [k8s/ingress-nginx] Fix the service name for ingress-nginx provider (#12352 @mmatur)
- [k8s/ingress-nginx] Fix use-regex nginx annotation (#12531 @LBF38)
- [k8s/ingress-nginx] Prevent Ingress Nginx provider http router to attach to an entrypoint with TLS (#12528 @rtribotte)
- [metrics, tracing, accesslogs] Fix ObservabilityConfig SetDefaults (#12636 @mmatur)
- [middleware] Fix case sensitivity on x-forwarded headers for Connection (#12690 @LBF38)
- [middleware] Fix HasSecureHeadersDefined returning false when stsSeconds is 0 (#12684 @veeceey)
- [middleware, authentication] Add maxResponseBodySize configuration to forwardAuth middleware (#12694 @gndz07)
- [middleware, authentication] Change ForwardAuth error log level from DEBUG to ERROR (#12324 @murataslan1)
- [middleware, authentication] Handle empty/missing User-Agent header (#12545 @a-stangl)
- [middleware, k8s, k8s/ingress-nginx] Fix from to www nginx annotation (#12736 @mmatur)
- [middleware, k8s/ingress-nginx] Fix custom error pages behavior for ingress-nginx provider (#12738 @mmatur)
- [otel] Bump go.opentelemetry.io/otel dependencies (#12754 @rtribotte)
- [plugins] Validate plugin module name (#12291 @kevinpollet)
- [redis] Fix mutually exclusive verification for Redis (#12442 @juliens)
- [server] Bump golang.org/x/crypto to v0.45.0 (#12296 @kevinpollet)
- [server] Bump golang.org/x/net to v0.51.0 (#12756 @kevinpollet)
- [server] Filter unknown nodes with file and env for the deprecation loader (#12227 @rtribotte)
- [server] Fix deny encoded characters (#12454 @rtribotte)
- [server] Fix deny encoded characters (#12457 @rtribotte)
- [server] Fix multi-layer routing with models (#12258 @juliens)
- [server] Fix TLS handshake error handling (#12692 @juliens)
- [server] Make encoded character options opt-in (#12540 @gndz07)
- [server] Make the aggregator compute provider namespace for router’s parentRefs (#12235 @rtribotte)
- [server] Print access logs for rejected requests and warn about new behavior (#12424 @kevinpollet)
- [server] Print access logs for rejected requests and warn about new behavior (#12426 @rtribotte)
- [server] Reject suspicious encoded characters (#12360 @rtribotte)
- [server] Remove conn deadline after STARTTLS negociation (#12639 @rtribotte)
- [service] Avoid recursion with services (#12591 @juliens)
- [tls] Fix verifyServerCertMatchesURI function behavior (#12575 @kevinpollet)
- [tls, server] Cap TLS record length to RFC 8446 limit in ClientHello peeking (#12638 @mmatur)
- [tracing, otel] Use ParentBased sampler to respect parent span sampling decision (#12403 @xe-leon)
- [udp] Revert “Avoid allocations in readLoop by using sync.Pool” (#12267 @kevinpollet)
- [webui] Bump dependencies of documentation and webui (#12581 @gndz07)
- [webui] Fix basePath validation for dashboard template (#12729 @gndz07)
- [webui] Fix blocked navigation on Safari (#12231 @gndz07)
- [webui] Fix missing type definition (#12780 @gndz07)
- [webui] Fix priority display in dashboard and ACME bypass redirect (#12740 @mmatur)
- [webui] Restore remote Upgrade to Hub button web component (#12219 @gndz07)
- [webui] Use url.Parse to validate X-Forwarded-Prefix value (#12643 @kevinpollet)
- [webui] Validate X-Forwarded-Prefix value for dashboard redirect (#12514 @LBF38)
Documentation:
- [acme] Add missing ACME options and clean up table for more visibility (#12208 @sheddy-traefik)
- [api] Fix typo in API dashboard configuration instructions (#12335 @NAICOLAS)
- [docker] Add documentation for loadbalancer.server.url in Docker and Swarm providers (#12289 @webash)
- [docker] Update docker in-depth setup guide (#12682 @mdevino)
- [docker/swarm] Update swarm.md traefik version (#12508 @DBouraoui)
- [k8s] Fix Gateway API version and the list of features supported (#12254 @nmengin)
- [k8s] Fix Kubernetes reference yml file (#12406 @mmatur)
- [k8s] Fix kubernetes.md with correct http redirections (#12603 @MartenM)
- [k8s] Fix Nginx provider documentation (#12266 @nmengin)
- [k8s] Improve the K8S multi-tenancy security note (#12444 @nmengin)
- [k8s] Make labelSelector option casing more consistent (#12658 @holysoles)
- [k8s, k8s/ingress-nginx] Add configmaps right to Ingress NGINX RBAC (#12557 @kevinpollet)
- [k8s/gatewayapi] Fix links of Helm chart values reference to providers.kubernetesGateway.enabled (#12315 @shouhei)
- [k8s/ingress, k8s] Fix Kubernetes Ingress provider documentation (#12443 @nmengin)
- [k8s/ingress-nginx] Add auth-signin to unsupported nginx annotations list (#12370 @fibsifan)
- [k8s/ingress-nginx] Add RBAC documentation for Ingress NGINX provider (#12445 @nmn3m)
- [k8s/ingress-nginx] Add temporary note to advertise the incoming NGINX annotations (#12699 @nmengin)
- [k8s/ingress-nginx] Fix default value of ingress-nginx provider in documentation (#12328 @mloiseleur)
- [k8s/ingress-nginx] Fix ingress-nginx annotations documentation (#12510 @nmengin)
- [k8s/ingress-nginx] Improve ingress-nginx provider documentation (#12288 @sheddy-traefik)
- [k8s/ingress-nginx] Improve the configuration options display of the Kubernetes ingress-nginx provider (#12297 @mloiseleur)
- [k8s/ingress-nginx] NGINX Ingress Controller to Traefik Migration Guide (#12318 @sheddy-traefik)
- [middleware] Correct documentation for Digest auth (#12651 @Zash)
- [middleware] Fix default encodings in compress middleware (#12216 @Belphemur)
- [middleware, k8s/crd] Fix the errors middleware’s document for Kubernetes CRD (#12600 @yuito-it)
- [service] Fix loadbalancer doc for highest random weight (#12283 @ozon2)
- [tls] Clarify SNI selection (#12482 @AnuragEkkati)
- Add @gndz07 as a current maintainer (#12594 @emilevauge)
- Add a Breaking change note to the changelog (#12398 @nmengin)
- Add documentation about checkNewVersion (#12298 @darkweaver87)
- Add missing
.httpto TOML table names (#12713 @Darsstar) - Add product comparison matrix and features page (#12037 @sheddy-traefik)
- Bring back security section on API & Dashboard documentation page (#12507 @gndz07)
- Clarify doc about encoded characters rejection (#12391 @rtribotte)
- Clean Up Menu Entries & Update Expose Overview (#12405 @sheddy-traefik)
- Correct encoded characters allowance in entrypoints.md (#12679 @Apflkuacha)
- Correctly Format the HTTP Service Documentation (#12311 @sheddy-traefik)
- Document negative priority support for routers (#12505 @understood-the-assignment)
- Document Path matcher placeholder removal in v3 migration guide (#12570 @sheddy-traefik)
- Fix API basepath option documentation (#12744 @nmengin)
- Fix broken links in TCP Service and HTTP Router documentation (#12215 @sheddy-traefik)
- Fix code copy button positioning (#12520 @AnuragEkkati)
- Fix encoded characters entryPoint option documentation (#12384 @rtribotte)
- Fix encoded characters option documentation (#12373 @kevinpollet)
- Fix encodedCharacters entryPoint option documentation (#12385 @rtribotte)
- Fix incorrect TOML example in entrypoints docs (#12711 @mfmfuyu)
- Fix link description in Traefik Proxy documentation (#12488 @schaerfo)
- Fix Menu Item Naming (#12431 @sheddy-traefik)
- Fix migration guide indentation (#12365 @kevinpollet)
- Fix migration guide URLs in deprecation notice (#12430 @alexmar07)
- Fix typo in kubernetes.md (#12515 @EdwardSalkeld)
- Fix typo in v3.6 migration guide (#12212 @jnoordsij)
- Fix typo on JWT documentation (#12616 @mdevino)
- Improve Service Reference page (#12541 @sheddy-traefik)
- Improve the structure of the routing reference pages (#12429 @sheddy-traefik)
- Increased content width in documentation (#12632 @tobiasge)
- Remove extra dots in migration guide (#12573 @rtribotte)
- Remove extraneous dots in migration guide (#12571 @dathbe)
- Restore documentation on http.maxHeaderBytes (#12440 @mloiseleur)
- Split Expose User Guides & Add Multi-Layer Routing Section (#12238 @sheddy-traefik)
- Update Configuration Overview Page (#12202 @sheddy-traefik)
- Update SECURITY.md (#12304 @cwayne18)
- Update SECURITY.md to streamline information (#12310 @emilevauge)
下载链接
- traefik-v3.7.0-ea.1.src.tar.gz
- traefik_v3.7.0-ea.1_checksums.txt
- traefik_v3.7.0-ea.1_darwin_amd64.tar.gz
- traefik_v3.7.0-ea.1_darwin_arm64.tar.gz
- traefik_v3.7.0-ea.1_freebsd_386.tar.gz
- traefik_v3.7.0-ea.1_freebsd_amd64.tar.gz
- traefik_v3.7.0-ea.1_linux_386.tar.gz
- traefik_v3.7.0-ea.1_linux_amd64.tar.gz
- traefik_v3.7.0-ea.1_linux_arm64.tar.gz
- traefik_v3.7.0-ea.1_linux_armv6.tar.gz
- traefik_v3.7.0-ea.1_linux_armv7.tar.gz
- traefik_v3.7.0-ea.1_linux_ppc64le.tar.gz
- traefik_v3.7.0-ea.1_linux_riscv64.tar.gz
- traefik_v3.7.0-ea.1_linux_s390x.tar.gz
- traefik_v3.7.0-ea.1_openbsd_386.tar.gz
- traefik_v3.7.0-ea.1_openbsd_amd64.tar.gz
- traefik_v3.7.0-ea.1_openbsd_riscv64.tar.gz
- traefik_v3.7.0-ea.1_windows_386.zip
- traefik_v3.7.0-ea.1_windows_amd64.zip
- traefik_v3.7.0-ea.1_windows_arm64.zip