dan*_*els 132 nginx http-headers
有一个隐藏版本的选项,因此它只显示nginx,但有没有办法隐藏它,所以它不会显示任何内容或更改标题?
Bra*_*des 138
如果您使用nginx代理后端应用程序并希望后端在Server:没有nginx覆盖的情况下宣传自己的标头,那么您可以进入您的server {…}节并设置:
proxy_pass_header Server;
Run Code Online (Sandbox Code Playgroud)
这将说服nginx单独保留该标题,而不是重写后端设置的值.
jam*_*ell 74
最后一次更新是前一段时间,所以这就是我在Ubuntu上的作用:
sudo apt-get update
sudo apt-get install nginx-extras
Run Code Online (Sandbox Code Playgroud)
然后将以下两行添加到所述http的部分nginx.conf,其通常位于/etc/nginx/nginx.conf:
sudo nano /etc/nginx/nginx.conf
server_tokens off; # removed pound sign
more_set_headers 'Server: Eff_You_Script_Kiddies!';
Run Code Online (Sandbox Code Playgroud)
另外,不要忘记重启nginx sudo service nginx restart.
joe*_*rdi 57
与Apache一样,这是对源代码的快速编辑和重新编译.来自Calomel.org:
Server:string是一个标头,它被发送回客户端,告诉他们你正在运行什么类型的http服务器,以及可能的版本.Alexia和Netcraft等地方使用此字符串来收集有关Internet上有多少以及哪种类型的Web服务器的统计信息.为了支持Nginx的作者和统计数据,我们建议保持这个字符串不变.但是,为了安全起见,您可能不希望别人知道您正在运行的内容,您可以在源代码中更改此内容.编辑源文件
src/http/ngx_http_header_filter_module.c,查看第48和49行.您可以将String更改为您想要的任何内容.
## vi src/http/ngx_http_header_filter_module.c (lines 48 and 49)
static char ngx_http_server_string[] = "Server: MyDomain.com" CRLF;
static char ngx_http_server_full_string[] = "Server: MyDomain.com" CRLF;
Run Code Online (Sandbox Code Playgroud)
2011年3月编辑:道具弗拉菲乌斯低于指出一个新的选择,更换Nginx的标准HttpHeadersModule与叉形HttpHeadersMoreModule.重新编译标准模块仍然是快速修复,如果您想使用标准模块并且不会经常更改服务器字符串,则有意义.但是如果你想要更多,那么HttpHeadersMoreModule是一个强大的项目,可以让你用你的HTTP头做各种运行时黑魔法.
Rui*_*ues 36
简单,编辑/etc/nginx/nginx.conf并删除评论
#server_tokens off;
Run Code Online (Sandbox Code Playgroud)
搜索http部分.
Far*_*eed 35
这很简单:将这些行添加到服务器部分:
server_tokens off;
more_set_headers 'Server: My Very Own Server';
Run Code Online (Sandbox Code Playgroud)
Fla*_*ius 25
有一个特殊的模块:http://wiki.nginx.org/NginxHttpHeadersMoreModule
此模块允许您添加,设置或清除指定的任何输出或输入标题.
这是标准的增强版本标头模块,因为它提供更多的实用程序等复位或清除"内置标题"等
Content-Type,Content-Length和Server.它还允许您使用
-s选项指定可选的HTTP状态代码条件,并使用选项指定可选的内容类型条件,-t同时使用more_set_headers和more_clear_headers指令修改输出标头...
小智 17
安装Nginx Extras
sudo apt-get update
sudo apt-get install nginx-extras
Run Code Online (Sandbox Code Playgroud)
通过在nginx.conf中添加以下两行(在http部分下),可以从响应中删除服务器详细信息
more_clear_headers Server;
server_tokens off;
Run Code Online (Sandbox Code Playgroud)
Par*_*hot 15
如果您只需将标题更改为另外五个字母或更少的字符串,则可以简单地修补二进制文件.
sed -i 's/nginx\r/thing\r/' `which nginx`
Run Code Online (Sandbox Code Playgroud)
作为一种解决方案,它具有一些显着的优势.也就是说,您可以允许包管理器处理您的nginx版本控制(因此,不会从源代码编译),即使您的发行版没有nginx-extras,也不需要担心任何其他版本像nginx-extras这样易受攻击的代码.
当然,您还需要设置选项server_tokens off,隐藏版本号或修补格式字符串.
我说"五个字母或更少",因为你当然可以取代:
nginx的\ r\0
同
鲍勃\ r\0\r\0
留下最后两个字节不变.
如果你真的想要超过五个字符,你会想要打开server_tokens,并替换(略长一点)格式字符串,尽管格式字符串的长度(1)对于该长度有一个上限(对于回车).
...如果上述任何一个对您没有意义,或者您之前从未打过二进制文件,那么您可能希望远离这种方法.
根据 nginx文档,它支持自定义值甚至排除:
\n\nSyntax: server_tokens on | off | build | string;\nRun Code Online (Sandbox Code Playgroud)\n\n但遗憾的是只有商业订阅:
\n\n\n\n此外,作为我们商业订阅的一部分,从版本 1.9.13 开始,错误页面上的签名和 \xe2\x80\x9cServer\xe2\x80\x9d 响应\n 标头字段值可以使用以下字符串显式设置: \n 变量。空字符串将禁用 \xe2\x80\x9cServer\xe2\x80\x9d\n 字段的发射。
\n
| 归档时间: |
|
| 查看次数: |
151738 次 |
| 最近记录: |