修改NGINX版本并伪装任意WEB SERVER

一般Nginx有哪些内部名称展示,如有通过HTTP Response Header中的Server、错误页的footer、FPM-FastCGI等。而且一般我们业务在生产环境下,一般都需要用nginx做服务负载或者反向代理等,所以为了不想暴露我们的nginx版本号,以及负载Server名称也是一种信息安全的体现。这个时候我们修改nginx的Server名称,应用版本号等信息;

正常nginx的应用名称和版本

修改NGINX版本并伪装任意WEB SERVER_第1张图片

修改完之后

修改NGINX版本并伪装任意WEB SERVER_第2张图片

所以我们修改nginx的版本号,Server名称时,一定要在我们编译nginx之前,修改nginx的源代码文件,这样编译完之后,就会生效了。如果nginx已经编译完了,那这时候你只能隐藏nginx的版本号,但是不能修改Server名称。

步骤

对于nginx来说,一般来说修改3个位置,一个是nginx.h、另一个是ngx_http_header_filter_module.c、还有一个ngx_http_special_response.c。

1, 修改src/core/nginx.h(Nginx内部名称的)
#define NGINX_VERSION      "1.8.0"
#define NGINX_VER          "NGINX/" NGINX_VERSION

解释:NGINX_VERSION是版本号,NGINX_VER是名称

2,修改src/http/ngx_http_header_filter_module.c(HTTP ResponseHeader响应头)
static char ngx_http_server_string[] = "Server: nginx" CRLF;
3, 修改src/http/ngx_http_special_response.c(错误页的底部Footer)
static u_char ngx_http_error_tail[] =
"
nginx
" CRLF "" CRLF "" CRLF ;

你可能感兴趣的:(后端,Nginx,前端)