<p>I am asking this question in the style of question then answer.</p>
<p>If you create your Ingress objects for Helm charts or regular &quot;kubectl apply&quot; deployments, after deployment to your cluster, you might see the server header in your responses. This is regarded as a security concern. It should not be present.</p>
<p><a href="https://i.stack.imgur.com/ZFUS8.png" rel="noreferrer"><img src="https://i.stack.imgur.com/ZFUS8.png" alt="enter image description here" /></a></p>
<p>You might not have control of your cluster or Ingress Controllers. How can you remove the header in question?</p>

Ian Robertson
<p>You might not have control of your cluster or Ingress Controllers, but you do have control of your Ingress manifests.</p>
<p>In each of your Ingress manifest files (maybe inside your Helm charts) you can update your Ingress definition(s).</p>
<pre><code>apiVersion: networking.k8s.io/v1beta1 # for versions before 1.14 use extensions/v1beta1
kind: Ingress
metadata:
  name: {{ .Release.Name}}-{{ .Values.baseName }}-ingress-spa
  namespace: {{ .Values.global.config.namespace }}
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/ssl-redirect: &quot;false&quot;
    nginx.ingress.kubernetes.io/rewrite-target: /$2
    nginx.ingress.kubernetes.io/configuration-snippet: |
          more_clear_headers &quot;Server&quot;;    
spec:
  tls:
  - hosts:
</code></pre>
<p>The key part is:</p>
<pre><code>nginx.ingress.kubernetes.io/configuration-snippet: |
          more_clear_headers &quot;Server&quot;;
</code></pre>
<p>This instructs nginx to clear the server header. After redeploying your application you should now see:</p>
<p><a href="https://i.stack.imgur.com/J5qIf.png" rel="noreferrer"><img src="https://i.stack.imgur.com/J5qIf.png" alt="enter image description here" /></a></p>
<p>And voila, the server header is gone.</p>
