查看nginx | apache | php | tengine | tomcat版本的信息以及如何隐藏版本信息【转】
转自:
查看nginx | apache | php | tengine | tomcat版本的信息以及如何隐藏版本信息 - 追马 - 51CTO技术博客
http://lovelace.blog.51cto.com/1028430/1440212
昨天配置nginx的时候说道隐藏版本信息的问题,今天就罗列一下
要操作的信息列表
nginx版本信息查询及隐藏
Apache版本信息查询及隐藏
php版本信息查询及隐藏
tengine版本信息查询及隐藏
tomcat版本信息查询及隐藏
详细操作步骤
1.1、nginx版本信息查询
[root@zhuima_nginx ~]# nginx -vnginx version: nginx/1.6.0
1.2、nginx编译配置参数查询
[root@zhuima_nginx ~]# nginx -V
nginx version: nginx/1.6.0
built by gcc 4.4.7 20120313 (Red Hat4.4.7-4) (GCC) TLS SNI support enabledconfigure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module
--with-http_ssl_module --with-http_gzip_static_module --with-ipv6
1.3、客户端查看nginx的Response Header信息
[root@zhuima_client ~]# curl -I HTTP/1.1 200 OKServer: nginx/1.6.0
Date: S at, 19 Jul 2014 02:18:54
GMTContent-Type: text/html
Content-Length: 16412
Last-Modified: Mon, 07 Jul 2014 05:25:22 G MT
Connection: keep-alive
Vary: Accept-Encoding
ETag: "53ba2f42-401c"
Accept-Ranges: bytes
1.4、如何隐藏nginx的Response Header中返回的版本号信息
修改nginx配置文件,在全局配置中添加server_tokens off; 这一行
[root@zhuima_nginx ~]# [root@zhuima_nginx ~]# sed -n '/server_tokens/p' /usr/local/nginx/conf/nginx.conf server_tokens off; # 在nginx全局配置文件中添加这行即可 [root@zhuima_nginx ~]#
重启nginx服务然后客户端验证效果
[root@zhuima_client ~]# curl -I http://218.244.xxx.xxx
HTTP/1.1 OK
Server: nginx
Date: Sat, Jul :: GMT
Content-Type: text/html
Content-Length:
Last-Modified: Mon, Jul :: GMT
Connection: keep-alive
Vary: Accept-Encoding
ETag: "53ba2f42-401c"
Accept-Ranges: bytes
2、Apache版本信息查询及隐藏
2.1、apache版本信息查询
apache版本信息查询
[root@zhuima_httpd ~]# apachectl -v
Server version: Apache/2.2. (Unix)
Server built: Apr ::
[root@zhuima_httpd ~]#
apache编译参数查询
[root@zhuima_httpd ~]# apachectl -V
Server version: Apache/2.2. (Unix)
Server built: Apr ::
Server's Module Magic Number: 20051115:25
Server loaded: APR 1.3., APR-Util 1.3.
Compiled using: APR 1.3., APR-Util 1.3.
Architecture: -bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count) Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=
-D HTTPD_ROOT="/etc/httpd"
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_PIDLOG="run/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="logs/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf" [root@zhuima_httpd ~]#
2.2、apache版本信息隐藏
客户端验证apahce的Response Headers头信息
[root@zhuima_client ~]# curl -I http://192.168.xxx.xxx
HTTP/1.1 Forbidden
Date: Sat, Jul :: GMT
Server: Apache/2.2. (CentOS)
Accept-Ranges: bytes
Content-Length:
Connection: close
Content-Type: text/html; charset=UTF-
在Apache配置文件中添加ServerTokens ProductOnly
#ServerTokens OS # 注释掉改行
Servertokens off # 添加这行屏蔽apache版本信息
ServerSignature Off # 添加这行屏蔽系统信息
重启httpd服务之后客户端再次验证
[root@zhuima_client ~]# curl -I http://192.168.xxx.xxx
HTTP/1.1 Forbidden
Date: Sat, Jul :: GMT
Server: Apache
Accept-Ranges: bytes
Content-Length:
Connection: close
Content-Type: text/html; charset=UTF-
3、略
4、tengine版本信息查询及隐藏
4.1、tengine版本信息查询
这里为什么要把tengine单独拿出来说事呢,初装tengine的童鞋肯定会有点迷茫,为毛tengine会显示出那么多的系统版本信息,除此之外其他操作和nginx一样,这里仅说下nginx版本的隐藏相关
显示的信息有:
Server----->服务器名称
tengine版本信息
服务器端的时间
有图为证:
4.2、tengine版本信息隐藏
在tengine配置文件中添加下面三项即可
server_tag off;
server_info off;
server_tokens off;
重启tengine服务再次进行验证

5、tomcat版本信息查询及隐藏
5.1、tomcat版本信息查询
tomcat版本信息查询(新接手环境的时候很有必要查看的)
[root@zhuima_tomcat ~]$ catalina.sh version
...............................
Server version: Apache Tomcat/7.0.
Server built: Jul ::
Server number: 7.0.42.0
OS Name: Linux
OS Version: 2.6.-.el6.x86_64
Architecture: amd64
JVM Version: 1.7.0_09-b05
JVM Vendor: Oracle Corporation
客户端验证tomcat版本信息
5.2、tomcat版本信息隐藏
隐藏tomcat版本信息
到apache-tomcat安装目录下的lib子文件夹,找到catalina.jar这包,并进行解
解压之后进度到org/catalina/apache/util/目录下,编辑ServerInfo.properties
vim /path/tomcat/lib/org/apache/catalina/util/ServerInfo.properties
来张修改前后的对比图吧

再次验证页面显示信息

总结:
新的环境中尽可能多用help指令查看老的环境的部署
操作之前尽可能做的备份,要不然你懂得后果的
最主要的还是要了解并掌握大多数常用服务,要不然也是干瞪眼
本篇文章纯属扯淡,没啥技术含量
打完收工
查看nginx | apache | php | tengine | tomcat版本的信息以及如何隐藏版本信息【转】的更多相关文章
- (总结)Linux下查看Nginx Apache MySQL的并发连接数和连接状态
1.查看Web服务器(Nginx Apache)的并发请求数及其TCP连接状态:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a ...
- (转)Linux下查看Nginx Apache MySQL的并发连接数和连接状态
转自: http://www.ha97.com/4106.html 1.查看Web服务器(Nginx Apache)的并发请求数及其TCP连接状态:netstat -n | awk '/^tcp/ { ...
- Linux下查看Nginx,tomcat等的并发连接数和连接状态
1.查看Web服务器(Nginx Apache)的并发请求数及其TCP连接状态: netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print ...
- nginx/apache/php隐藏http头部版本信息的实现方法
有时候我们需要隐藏我们的服务器版本信息,防止有心人士的研究,更安全,这里介绍下在nginx/apache/php中如何隐藏http头部版本信息的方法. nginx隐藏头部版本信息方法 编辑nginx. ...
- 查看mysql apache php nginx的编译参数
查看mysql编译参数: cat /usr/local/mysql/bin/mysqlbug|grep configure 查看apache编译参数: cat /usr/local/apache2/b ...
- 查看Nginx、PHP、Apache和MySQL的编译参数
1.查看Nginx编译参数 [root@portal finance]# your_nginx_dir/sbin/nginx -V nginx version: nginx/ built by (Re ...
- 查看nginx版本和安装的模块
查看nginx版本 # nginx -v nginx version: nginx/1.12.2 查看nginx配置了哪些模块 # nginx -V nginx version: nginx/1.12 ...
- linux中查看nginx、apache、php、mysql配置文件路径的方法
如何在Linux中查看nginx.apache.PHP.MySQL配置文件路径了,如果你接收一个别人配置过的环境,但没留下相关文档.这时该怎么判断找到正确的加载文件路径了.可以通过以下来判断1.判断a ...
- 查看nginx的版本
查看nginx的版本 -v 显示 nginx 的版本-V 显示 nginx 的版本,编译器版本和配置参数 # /app/nginx/sbin/nginx -v nginx version: nginx ...
随机推荐
- 基于Ryu的服务器实现及相关请求访问处理
基于Ryu的服务器实现及相关请求访问处理 前言及问题描述 近期又遇到了一个非常棘手的问题,由于Ryu是通过Python语言开发的,通过Ryu的wsgi的方式建立服务器,无法解析PHP,通过多次方法解决 ...
- Alpha 冲刺八
团队成员 051601135 岳冠宇 051604103 陈思孝 031602629 刘意晗 031602248 郑智文 031602234 王淇 会议照片 项目燃尽图 项目进展 完善各自部分 项目描 ...
- PGSQL 数据库备份练习
截图先 慢慢说 1. 简单使用方法 先用 之前的setx 命令设置环境变量. set path=%PATH% ---其实第一步没必要..... 跟人学的 setx PATH "%path%& ...
- [转帖]linux namespace 和cgroup lxc
https://blog.csdn.net/xiaoliuliu2050/article/details/53443863 5.1 linux namespace 和cgroup lxc 2016年1 ...
- javascript extend
interface Date{ addHours(h:number); addMinutes(m:number); format(str):string } interface String{ tri ...
- wordApp.Documents.Open 未将对象引用实例
wordApp.Documents.Open (.........),当我打开的是.docx,能正常打开当是.doc时,却返回空置,显示失败,未能找到文件.......,但其实文件都在 解决方案 WO ...
- 使用AutoMapper实现Dto和Model的自由转换(上)
在实际的软件开发项目中,我们的“业务逻辑”常常需要我们对同样的数据进行各种变换.例如,一个Web应用通过前端收集用户的输入成为Dto,然后将Dto转换成领域模型并持久化到数据库中.另一方面,当用户请求 ...
- 【设计模式】—— 装饰模式Decorator
前言:[模式总览]——————————by xingoo 模式意图 在不改变原来类的情况下,进行扩展. 动态的给对象增加一个业务功能,就功能来说,比生成子类更方便. 应用场景 1 在不生成子类的情况下 ...
- pgm10
这部分讨论 MAP 估计.从某个角度上来说,我们可以将这个问题转换成为前面讨论过的: 这样一来我们只需要将原先的 sum-product 换成 max-sum 即可.话虽这么说,我们还是看看 Koll ...
- SpringMVC返回JSON方案
SpringMVC已经大行其道.一般的,都是返回JSP视图.如果需要返回JSON格式,我们大都掌握了一些方法. 在ContentNegotiatingViewResolver之前,一般使用XmlVie ...