diff --git a/controllers/nginx/pkg/config/config.go b/controllers/nginx/pkg/config/config.go index a1f00401b..8bc2fd70a 100644 --- a/controllers/nginx/pkg/config/config.go +++ b/controllers/nginx/pkg/config/config.go @@ -82,6 +82,12 @@ const ( type Configuration struct { defaults.Backend `json:",squash"` + // AllowBackendServerHeader enables the return of the header Server from the backend + // instead of the generic nginx string. + // http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_hide_header + // By default this is disabled + AllowBackendServerHeader bool `json:"allow-backend-server-header"` + // EnableDynamicTLSRecords enables dynamic TLS record sizes // https://blog.cloudflare.com/optimizing-tls-over-tcp-to-reduce-latency // By default this is enabled @@ -288,6 +294,7 @@ type Configuration struct { // NewDefault returns the default nginx configuration func NewDefault() Configuration { cfg := Configuration{ + AllowBackendServerHeader: false, ClientHeaderBufferSize: "1k", ClientBodyBufferSize: "8k", EnableDynamicTLSRecords: true, diff --git a/controllers/nginx/rootfs/etc/nginx/template/nginx.tmpl b/controllers/nginx/rootfs/etc/nginx/template/nginx.tmpl index fde14e14c..a472a4018 100644 --- a/controllers/nginx/rootfs/etc/nginx/template/nginx.tmpl +++ b/controllers/nginx/rootfs/etc/nginx/template/nginx.tmpl @@ -219,6 +219,10 @@ http { proxy_ssl_session_reuse on; + {{ if $cfg.AllowBackendServerHeader }} + proxy_pass_header Server; + {{ end }} + {{range $name, $upstream := $backends}} upstream {{$upstream.Name}} { {{ if eq $upstream.SessionAffinity.AffinityType "cookie" }}