nginx:删除“服务器”响应标头 - 不尊重 doco 中所说的内容

tua*_*inh 4 nginx

Nginx 版本:1.15.8

\n\n

根据 nginx 文档: http: //nginx.org/en/docs/http/ngx_http_core_module.html#server_tokens

\n\n

“从版本 1.9.13 开始,错误页面上的签名和 \xe2\x80\x9cServer\xe2\x80\x9d 响应标头字段值可以使用带有变量的字符串显式设置。空字符串会禁用 \xe2 的发射\x80\x9cServer\xe2\x80\x9d 字段。”

\n\n

但是当我把这个

\n\n
server_tokens \'\';\n
Run Code Online (Sandbox Code Playgroud)\n\n

它抱怨:

\n\n
nginx: [emerg] invalid value "" \n
Run Code Online (Sandbox Code Playgroud)\n\n

还尝试过:

\n\n
server_tokens "";\n
Run Code Online (Sandbox Code Playgroud)\n\n
server_tokens;\n
Run Code Online (Sandbox Code Playgroud)\n\n

它们都不起作用。请注意,我想完全删除“Server”标头,而不仅仅是可以通过“server_tokens off;”直接完成的版本。

\n\n

有人这样工作吗?欢迎提出意见和建议。

\n\n

谢谢,

\n

Tan*_*Tat 8

\n

此外,作为我们商业订阅的一部分,从版本 1.9.13 开始,可以使用带变量的字符串显式设置错误页面上的签名和 \xe2\x80\x9cServer\xe2\x80\x9d 响应标头字段值。空字符串会禁用 \xe2\x80\x9cServer\xe2\x80\x9d 字段的发射。

\n
\n\n

来源:http ://nginx.org/en/docs/http/ngx_http_core_module.html#server_tokens

\n\n

它需要商业订阅。

\n\n

否则,安装ngx_headers_more模块。

\n\n

并将以下内容添加到您的 nginxconf 中,然后重新启动 nginx。这将删除“服务器”标头。-

\n\n
more_clear_headers  "Server";\nmore_clear_headers  "server";\n
Run Code Online (Sandbox Code Playgroud)\n\n

安装: https: //github.com/openresty/headers-more-nginx-module#installation

\n