Skip to content

Traefik ContentType 中间件文档

ContentType(自动 Content-Type)

contentType 中间件在响应内容来自后端但未设置 Content-Type 头时,根据检测到的内容自动设置 Content-Type 头为媒体类型。

提示

contentType 中间件仅在 Traefik 检测到 MIME 类型时生效。如果链中任何中间件(如 Headers 或 Compress)在某处设置了 Content-Type 头,则 contentType 中间件将不会起作用。

配置示例

YAML 格式

yaml
# 启用自动检测
http:
  middlewares:
    autodetect:
      contentType: {}

TOML 格式

toml
# 启用自动检测
[http.middlewares]
  [http.middlewares.autodetect.contentType]

Labels 格式

yaml
# 启用自动检测
labels:
  - "traefik.http.middlewares.autodetect.contenttype=true"

Tags 格式

json
// 启用自动检测
{
  "Tags": [
    "traefik.http.middlewares.autodetect.contenttype=true"
  ]
}

Kubernetes 格式

yaml
# 启用自动检测
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
  name: autodetect
spec:
  contentType: {}

配置选项

contentType 中间件没有可配置选项 —— 启用后,Traefik 会自动从响应内容中检测 MIME 类型并设置 Content-Type 头。

提示

该中间件在响应来自静态文件服务、动态生成内容等场景中很有用。检测是基于响应体的前若干字节进行的,对于已知格式(如 HTML、JSON、PNG 等)效果很好。


在生产环境使用 Traefik OSS?

如果你在工作中使用 Traefik,可以考虑为其添加企业级 API 网关能力或获取 Traefik OSS 的商业支持。

基于 MIT 协议发布