我问的是问题形式,然后回答。
如果您为Helm图表或常规的“ kubectl应用”部署创建了Ingress对象,则在部署到群集后,您可能会在响应中看到服务器标头。这被认为是安全问题。它不应该存在。
您可能无法控制群集或Ingress Controller。如何删除有问题的标题?
答案 0 :(得分:2)
您可能无法控制您的集群或Ingress Controller,但您确实可以控制自己的Ingress清单。
在每个Ingress清单文件中(可能在Helm图表中),您可以更新Ingress定义。
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: "false"
nginx.ingress.kubernetes.io/rewrite-target: /$2
nginx.ingress.kubernetes.io/configuration-snippet: |
more_clear_headers "Server";
spec:
tls:
- hosts:
关键部分是:
nginx.ingress.kubernetes.io/configuration-snippet: |
more_clear_headers "Server";
这指示nginx清除服务器头。重新部署您的应用程序后,您现在应该看到:
瞧,服务器头不见了。