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

本文介绍如何修改Nginx的版本号和Server名称,包括修改nginx.h、ngx_http_header_filter_module.c和ngx_http_special_response.c三个关键文件,以增强服务器的安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

正常nginx的应用名称和版本

在这里插入图片描述

修改完之后

在这里插入图片描述

所以我们修改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[] =
"<hr><center>nginx</center>" CRLF
"</body>" CRLF
"</html>" CRLF
;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值