首页 > 技术文章 > 常见web服务器隐藏版本号

ltzhang 2020-08-31 17:47 原文

Nginx

编辑src/core/nginx.h,将其中的NGINX_VERSION及NGINX_VER的值改为***然后编译Nginx即可。

#define NGINX_VERSION      "1.18.0"     ===> "***"
#define NGINX_VER          "nginx/" NGINX_VERSION ===>"***" NGINX_VERSION

Apache

编辑include/ap_release.h,将其中的#define AP_SERVER_BASEPRODUCT "Apache"改为*。

#define AP_SERVER_BASEVENDOR "Apache Software Foundation"
#define AP_SERVER_BASEPROJECT "Apache HTTP Server"
#define AP_SERVER_BASEPRODUCT "Apache"  ===> "******"

在编译完成之后在apache配置文件httpd.conf中添加配置段

ServerSignature Off
ServerTokens Prod

Tomcat

使用使用jdk中自带的jar命令从catalina.jar解压出ServerInfo.properties文件

cd tomcat/lib
jar -xf catalina.jar org/apache/catalina/util/ServerInfo.properties

使用vim手动修改该文件

server.info=******
server.number=
server.built=

重新封装jar并删除残余文件

jar -uf catalina.jar org/apache/catalina/util/ServerInfo.properties
rm -rf org/

推荐阅读