2019-02-26 13:50:07 +00:00
|
|
|
# Compress
|
|
|
|
|
|
|
|
Compressing the Response before Sending it to the Client
|
|
|
|
{: .subtitle }
|
|
|
|
|
|
|
|
![Compress](../assets/img/middleware/compress.png)
|
|
|
|
|
|
|
|
The Compress middleware enables the gzip compression.
|
|
|
|
|
|
|
|
## Configuration Examples
|
|
|
|
|
2019-03-29 11:34:05 +00:00
|
|
|
```yaml tab="Docker"
|
|
|
|
# Enable gzip compression
|
|
|
|
labels:
|
2019-04-01 15:56:04 +00:00
|
|
|
- "traefik.http.middlewares.test-compress.compress=true"
|
2019-03-29 11:34:05 +00:00
|
|
|
```
|
|
|
|
|
2019-06-18 07:50:05 +00:00
|
|
|
```yaml tab="Kubernetes"
|
|
|
|
# Enable gzip compression
|
|
|
|
apiVersion: traefik.containo.us/v1alpha1
|
|
|
|
kind: Middleware
|
|
|
|
metadata:
|
|
|
|
name: test-compress
|
|
|
|
spec:
|
|
|
|
compress: {}
|
|
|
|
```
|
|
|
|
|
2019-04-15 16:22:07 +00:00
|
|
|
```json tab="Marathon"
|
|
|
|
"labels": {
|
|
|
|
"traefik.http.middlewares.test-compress.compress": "true"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2019-04-08 15:14:08 +00:00
|
|
|
```yaml tab="Rancher"
|
|
|
|
# Enable gzip compression
|
|
|
|
labels:
|
|
|
|
- "traefik.http.middlewares.test-compress.compress=true"
|
|
|
|
```
|
|
|
|
|
2019-07-22 07:58:04 +00:00
|
|
|
```toml tab="File (TOML)"
|
2019-03-29 11:34:05 +00:00
|
|
|
# Enable gzip compression
|
|
|
|
[http.middlewares]
|
2019-07-01 09:30:05 +00:00
|
|
|
[http.middlewares.test-compress.compress]
|
2019-03-29 11:34:05 +00:00
|
|
|
```
|
2019-02-26 13:50:07 +00:00
|
|
|
|
2019-07-22 07:58:04 +00:00
|
|
|
```yaml tab="File (YAML)"
|
|
|
|
# Enable gzip compression
|
|
|
|
http:
|
|
|
|
middlewares:
|
|
|
|
test-compress:
|
|
|
|
compress: {}
|
|
|
|
```
|
|
|
|
|
2019-02-26 13:50:07 +00:00
|
|
|
## Notes
|
|
|
|
|
|
|
|
Responses are compressed when:
|
|
|
|
|
|
|
|
* The response body is larger than `512` bytes.
|
|
|
|
* The `Accept-Encoding` request header contains `gzip`.
|
|
|
|
* The response is not already compressed, i.e. the `Content-Encoding` response header is not already set.
|