nginx"server_tokens"配置被忽略

Dan*_* W. 17 nginx

nginx.conf:

server_tokens off;
Run Code Online (Sandbox Code Playgroud)

为什么会被忽略,标题仍然被发送:

Server: nginx
Run Code Online (Sandbox Code Playgroud)

不,其他包含的配置文件不包含server_tokens配置.

是的,我确实重启了所有服务.

Hol*_*ust 22

引用该指令的文档server_tokens:

启用或禁用在错误消息和"服务器"响应头字段中发出nginx版本.

根据文档,它因此不会阻止Server标题的生成,但仅阻止添加精确版本.如果要完全删除服务器标头,可以使用ngx_headers_more模块.

  • 如果我必须编译一个甚至不包含在包中的mod,我也可以只改变nginx本身的来源.这不是一个选择.关闭意味着关闭..不是一点点.对于nginx,这是-1 :-( (11认同)
  • 设置按文档记录.如果您想在nginx中看到任何更改,请在正确的频道上打开问题.我不是真的跟着你的咆哮...... (9认同)

小智 6

“该设置按照记录进行”

上面的内容有点疯狂……(对不起,Hulgar 只是,但如果你不明白我的咆哮,你可能不应该回答。)

Nginx 不需要广播它的版本,并且服务器操作系统基本上在调试情况之外实际上不应该成为问题。对于任何了解信息安全的人来说,想要阻止这种疯狂行为也不应该成为问题。

因为即使启用了“功能”,站点也会出现故障,从而导致访问者不必要的信息泄露。您能做的绝对最好的事情就是在所有站点配置中禁用它,但是当它们消失时,您仍然会遇到问题。可悲的是,目前唯一的方法...

  • “Nginx 基本上不需要广播它的版本和服务器操作系统” - 当然,你是对的。问题是他们把它留在那里的原因——免费营销。nginx 的高级版本允许您更改该值(参考:已接受评论中的文档),但他们故意强迫您将其保留在那里,除非您将其修改或付费。可爱的开源社区就在那里;) (2认同)