Compress¶
将响应压缩之后在发送给客户端
Compress 中间件启用 gzip 压缩。
配置示例¶
# 开启 gzip 压缩
labels:
- "traefik.http.middlewares.test-compress.compress=true"
# 开启 gzip 压缩
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: test-compress
spec:
compress: {}
# 开启 gzip 压缩
- "traefik.http.middlewares.test-compress.compress=true"
"labels": {
"traefik.http.middlewares.test-compress.compress": "true"
}
# 开启 gzip 压缩
labels:
- "traefik.http.middlewares.test-compress.compress=true"
# 开启 gzip 压缩
[http.middlewares]
[http.middlewares.test-compress.compress]
# 开启 gzip 压缩
http:
middlewares:
test-compress:
compress: {}
Info
响应在以下情况下会被压缩:
- 响应体大于
1400
字节。 Accept-Encoding
请求头包含gzip
。- 响应尚未压缩,即尚未设置
Content-Encoding
响应头。
配置选项¶
excludedContentTypes
¶
excludedContentTypes
指定一系列内容类型,以便在压缩之前将传入请求的 Content-Type
请求头与之对比。
请求中 excludedContentTypes
定义的内容类型不会被压缩。
内容类型压缩时忽略大小写和空格。
labels:
- "traefik.http.middlewares.test-compress.compress.excludedcontenttypes=text/event-stream"
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: test-compress
spec:
compress:
excludedContentTypes:
- text/event-stream
- "traefik.http.middlewares.test-compress.compress.excludedcontenttypes=text/event-stream"
"labels": {
"traefik.http.middlewares.test-compress.compress.excludedcontenttypes": "text/event-stream"
}
labels:
- "traefik.http.middlewares.test-compress.compress.excludedcontenttypes=text/event-stream"
[http.middlewares]
[http.middlewares.test-compress.compress]
excludedContentTypes = ["text/event-stream"]
http:
middlewares:
test-compress:
compress:
excludedContentTypes:
- text/event-stream
本节翻译作者:@罗立志