我在Kubernetes集群中使用NGINX Ingress Controller,需要隐藏客户端请求的Nginx版本信息。因为Nginx配置文件是动态生成的。最好的方法是如何在nginx.conf文件中包含下面的行?
``` server_tokens off; ```server_tokens off
感谢SR。
我在Kubernetes集群中使用NGINX Ingress Controller,需要隐藏客户端请求的Nginx版本信息。因为Nginx配置文件是动态生成的。最好的方法是如何在nginx.conf文件中包含下面的行?
``` server_tokens off; ```server_tokens off
server_tokens
可以在nginx.conf
中的http, server, location
上下文中设置。因此,在nginx入口控制器上,它取决于您想添加该设置的位置(以及如何添加):
http
上下文意味着适用于入口控制器中的所有配置,因此您需要使用http片段选项更改nginx入口控制器配置映射。
server
上下文可以通过ConfigMap选项server-snippet或每个Ingress的server-snippet注释来完成。
location
上下文可以通过ConfigMap选项location snippet或每个Ingress的configuration snippet来完成。
http-snippet: "server_tokens off;"
时,它会出现重复条目错误。nginx: [emerg] "server_tokens" directive is duplicate in /tmp/nginx-cfg732655361:212
。 - sfgroupsserver-tokens: "false"
配置映射确实可以禁用版本号。但在0.17.1镜像中,mod clean仍然无法正常工作。请参考 https://github.com/nginxinc/kubernetes-ingress/issues/226。 - sfgroupskubectl cp <nginx-ingress-controller-pod>:nginx.conf .
- Ricoserver-tokens: "false"
选项。感谢您的帮助。 - sfgroupsserver-tokens
的文档:
https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#server-tokens - Seboudry
nginx.ingress.kubernetes.io/server-snippet:
? - mdaniel