【发布时间】:2019-04-30 23:38:55
【问题描述】:
我在 Kubernetes 集群中使用 NGINX Ingress Controller,需要隐藏客户端请求的 Nginx 版本信息。由于 Nginx 配置文件是动态生成的。在 nginx.conf 文件中包含以下行的最佳方法是什么?
server_tokens off
谢谢 SR
【问题讨论】:
-
谢谢,这不需要进入 http sn-p 部分
我在 Kubernetes 集群中使用 NGINX Ingress Controller,需要隐藏客户端请求的 Nginx 版本信息。由于 Nginx 配置文件是动态生成的。在 nginx.conf 文件中包含以下行的最佳方法是什么?
server_tokens off
谢谢 SR
【问题讨论】:
如果您查看configs,您会发现server_tokens 可以在您的nginx.conf 的http, server, location 上下文中。因此,在 nginx 入口控制器上,它实际上取决于您要在何处添加该设置(以及如何添加):
http 上下文意味着入口控制器中的所有配置,因此您必须使用 http snippet 选项更改 nginx 入口控制器配置映射。
服务器上下文可以通过 server-snippet ConfigMap 选项或 server-snippet annotation 在每个 Ingress 基础上完成。
位置上下文可以通过 location snippet ConfigMap 选项或 configuration snippet 在每个 Ingress 基础上完成。
【讨论】:
http-snippet: "server_tokens off;" 它给出重复条目错误。 nginx: [emerg] "server_tokens" directive is duplicate in /tmp/nginx-cfg732655361:212
kubectl cp <nginx-ingress-controller-pod>:nginx.conf .
server-tokens 的文档:kubernetes.github.io/ingress-nginx/user-guide/…