Compress
The Compress middleware uses gzip compression.
Docker
Kubernetes
# Enable gzip compression
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: test-compress
spec:
compress: {}
Consul Catalog
# Enable gzip compression
Marathon
"labels": {
"traefik.http.middlewares.test-compress.compress": "true"
}
File (YAML)
# Enable gzip compression
middlewares:
test-compress:
compress: {}
File (TOML)
# Enable gzip compression
[http.middlewares]
[http.middlewares.test-compress.compress]
Info
Responses are compressed when the following criteria are all met:
- The
Accept-Encoding
request header containsgzip
. - The response is not already compressed, i.e. the
Content-Encoding
response header is not already set.
If the Content-Type
header is not defined, or empty, the compress middleware will automatically detect a content type. It will also set the Content-Type
header according to the detected MIME type.
Configuration Options
specifies a list of content types to compare the Content-Type
header of the incoming requests and responses before compressing.
Content types are compared in a case-insensitive, whitespace-ignored manner.
Docker
labels:
- "traefik.http.middlewares.test-compress.compress.excludedcontenttypes=text/event-stream"
Kubernetes
Consul Catalog
- "traefik.http.middlewares.test-compress.compress.excludedcontenttypes=text/event-stream"
Marathon
"labels": {
"traefik.http.middlewares.test-compress.compress.excludedcontenttypes": "text/event-stream"
}
Rancher
labels:
- "traefik.http.middlewares.test-compress.compress.excludedcontenttypes=text/event-stream"
File (TOML)
[http.middlewares]
excludedContentTypes = ["text/event-stream"]