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 的商业支持。