Skip to content

Commit

Permalink
Merge pull request #5071 from triodan/gzip-min-length
Browse files Browse the repository at this point in the history
Add gzip-min-length as a Configuration Option
  • Loading branch information
k8s-ci-robot committed Feb 14, 2020
2 parents 67d201a + d48d5a6 commit eb6e36f
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 1 deletion.
4 changes: 4 additions & 0 deletions docs/user-guide/nginx-configuration/configmap.md
Expand Up @@ -596,6 +596,10 @@ Enables or disables [HTTP/2](http://nginx.org/en/docs/http/ngx_http_v2_module.ht

Sets the gzip Compression Level that will be used. _**default:**_ 5

## gzip-min-length

Minimum length of responses to be returned to the client before it is eligible for gzip compression, in bytes. _**default:**_ 256

## gzip-types

Sets the MIME types in addition to "text/html" to compress. The special value "\*" matches any MIME type. Responses with the "text/html" type are always compressed if `[use-gzip](#use-gzip)` is enabled.
Expand Down
5 changes: 5 additions & 0 deletions internal/ingress/controller/config/config.go
Expand Up @@ -393,6 +393,10 @@ type Configuration struct {
// gzip Compression Level that will be used
GzipLevel int `json:"gzip-level,omitempty"`

// Minimum length of responses to be sent to the client before it is eligible
// for gzip compression, in bytes.
GzipMinLength int `json:"gzip-min-length,omitempty"`

// MIME types in addition to "text/html" to compress. The special value “*” matches any MIME type.
// Responses with the “text/html” type are always compressed if UseGzip is enabled
GzipTypes string `json:"gzip-types,omitempty"`
Expand Down Expand Up @@ -695,6 +699,7 @@ func NewDefault() Configuration {
HSTSPreload: false,
IgnoreInvalidHeaders: true,
GzipLevel: 5,
GzipMinLength: 256,
GzipTypes: gzipTypes,
KeepAlive: 75,
KeepAliveRequests: 100,
Expand Down
2 changes: 2 additions & 0 deletions internal/ingress/controller/template/configmap_test.go
Expand Up @@ -65,6 +65,7 @@ func TestMergeConfigMapToStruct(t *testing.T) {
"error-log-path": "/var/log/test/error.log",
"use-gzip": "true",
"gzip-level": "9",
"gzip-min-length": "1024",
"gzip-types": "text/html",
"proxy-real-ip-cidr": "1.1.1.1/8,2.2.2.2/24",
"bind-address": "1.1.1.1,2.2.2.2,3.3.3,2001:db8:a0b:12f0::1,3731:54:65fe:2::a7,33:33:33::33::33",
Expand All @@ -85,6 +86,7 @@ func TestMergeConfigMapToStruct(t *testing.T) {
def.ProxySendTimeout = 2
def.UseProxyProtocol = true
def.GzipLevel = 9
def.GzipMinLength = 1024
def.GzipTypes = "text/html"
def.ProxyRealIPCIDR = []string{"1.1.1.1/8", "2.2.2.2/24"}
def.BindAddressIpv4 = []string{"1.1.1.1", "2.2.2.2"}
Expand Down
2 changes: 1 addition & 1 deletion rootfs/etc/nginx/template/nginx.tmpl
Expand Up @@ -239,7 +239,7 @@ http {
gzip on;
gzip_comp_level {{ $cfg.GzipLevel }};
gzip_http_version 1.1;
gzip_min_length 256;
gzip_min_length {{ $cfg.GzipMinLength}};
gzip_types {{ $cfg.GzipTypes }};
gzip_proxied any;
gzip_vary on;
Expand Down

0 comments on commit eb6e36f

Please sign in to comment.