首页 > 学院 > 操作系统 > 正文

nginx隐藏版本信息

2024-06-28 16:00:37
字体:
来源:转载
供稿:网友
1.源码编译安装一份nginxtar xzf nginx-1.11.9.tar.gz cd nginx-1.11.9./configure --PRefix=/usr/local/nginxmake && make install2.启动nginx/usr/local/nginx/sbin/nginx 3.查看nginx的版本信息curl -I 192.168.146.134 #ip改为你自己的如果nginx安装正确,并正常启动会看到下面的信息:HTTP/1.1 200 OKServer: nginx/1.11.9Date: Sun, 05 Feb 2017 07:51:01 GMTContent-Type: text/htmlContent-Length: 612Last-Modified: Sun, 05 Feb 2017 07:48:23 GMTConnection: keep-aliveETag: "5896d8c7-264"Accept-Ranges: bytes斜体字部分标明了你所用的WEB服务器的名称和版本信息,在生产环境中暴露这些信息是不安全的。通过两种方式对上述信息进行隐藏:一是在配置文件中加入server_tokens off;参数禁止版本信息泄漏:再次查看web server版本信息HTTP/1.1 200 OKServer: nginxDate: Sun, 05 Feb 2017 08:05:33 GMTContent-Type: text/htmlContent-Length: 612Last-Modified: Sun, 05 Feb 2017 07:48:23 GMTConnection: keep-aliveETag: "5896d8c7-264"Accept-Ranges: bytes这种情况下只能隐藏版本,不能隐藏文件名。第二种办法是在编译的时候把源文件里的版本信息更改一下,编译完后显示的是你修改的内容。修改源码包里的三个文件:1.src/core下的nginx.h文件#define nginx_version 100011#define NGINX_VERSION "7.89"#define NGINX_VER "GWS/" NGINX_VERSION2.src/http下的ngx_http_header_filter_module.c文件static char ngx_http_server_string[] = "Server: GWS" CRLF;3.src/http下的ngx_http_special_response.c文件 static u_char ngx_http_error_tail[] ="<hr><center>GWS</center>" CRLF重新编译nginx:make clean ./configure --prefix=/usr/local/nginxmake && make install重新启动nginx后再次查看一下HTTP/1.1 200 OKServer: GWSDate: Sun, 05 Feb 2017 08:33:58 GMTContent-Type: text/htmlContent-Length: 612Last-Modified: Sun, 05 Feb 2017 08:24:02 GMTConnection: keep-aliveETag: "5896e122-264"Accept-Ranges: bytesserver的输出内容变成了我自己改的名称。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表