Compress¶
Compress Responses before Sending them to the Client

The Compress middleware uses gzip compression.
Configuration Examples¶
# Enable gzip compression
labels:
- "traefik.http.middlewares.test-compress.compress=true"# Enable gzip compression
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: test-compress
spec:
compress: {}# Enable gzip compression
- "traefik.http.middlewares.test-compress.compress=true""labels": {
"traefik.http.middlewares.test-compress.compress": "true"
}# Enable gzip compression
labels:
- "traefik.http.middlewares.test-compress.compress=true"# Enable gzip compression
http:
middlewares:
test-compress:
compress: {}# Enable gzip compression
[http.middlewares]
[http.middlewares.test-compress.compress]Info
Responses are compressed when the following criteria are all met:
- The response body is larger than the configured minimum amount of bytes (default is
1024). - The
Accept-Encodingrequest header containsgzip. - The response is not already compressed, i.e. the
Content-Encodingresponse 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¶
excludedContentTypes¶
excludedContentTypes specifies a list of content types to compare the Content-Type header of the incoming requests and responses before compressing.
The responses with content types defined in excludedContentTypes are not compressed.
Content types are compared in a case-insensitive, whitespace-ignored manner.
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:
test-compress:
compress:
excludedContentTypes:
- text/event-stream[http.middlewares]
[http.middlewares.test-compress.compress]
excludedContentTypes = ["text/event-stream"]minResponseBodyBytes¶
minResponseBodyBytes specifies the minimum amount of bytes a response body must have to be compressed.
The default value is 1024, which should be a reasonable value for most cases.
Responses smaller than the specified values will not be compressed.
labels:
- "traefik.http.middlewares.test-compress.compress.minresponsebodybytes=1200"apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: test-compress
spec:
compress:
minResponseBodyBytes: 1200- "traefik.http.middlewares.test-compress.compress.minresponsebodybytes=1200""labels": {
"traefik.http.middlewares.test-compress.compress.minresponsebodybytes": 1200
}labels:
- "traefik.http.middlewares.test-compress.compress.minresponsebodybytes=1200"http:
middlewares:
test-compress:
compress:
minResponseBodyBytes: 1200[http.middlewares]
[http.middlewares.test-compress.compress]
minResponseBodyBytes = 1200