开源中国使用的淘宝开发的Web服务器 Tengine

justjavac 发布于 2013/11/18 13:04
阅读 2K+
收藏 20

ChromeSnifferPlus 新增加了对 Tengine 的探测,居然惊奇的发现,原来 OSC 就是使用的 Tengine 啊。

ChromeSnifferPlus 探测结果

简介

Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。

从2011年12月开始,Tengine成为一个开源项目,Tengine团队在积极地开发和维护着它。Tengine团队的核心成员来自于淘宝、搜狗等互联网企业。

特性

  • 继承Nginx-1.2.9的所有特性,100%兼容Nginx的配置;
  • 动态模块加载(DSO)支持。加入一个模块不再需要重新编译整个Tengine;
  • 流式上传到HTTP后端服务器或FastCGI服务器,大量减少机器的I/O压力;
  • 更加强大的负载均衡能力,包括一致性hash模块、会话保持模块,还可以对后端的服务器进行主动健康检查,根据服务器状态自动上线下线;
  • 输入过滤器机制支持。通过使用这种机制Web应用防火墙的编写更为方便;
  • 动态脚本语言Lua支持。扩展功能非常高效简单;
  • 支持管道(pipe)和syslog(本地和远端)形式的日志以及日志抽样;
  • 组合多个CSS、JavaScript文件的访问请求变成一个请求;
  • 自动去除空白字符和注释从而减小页面的体积
  • 自动根据CPU数目设置进程个数和绑定CPU亲缘性;
  • 监控系统的负载和资源占用从而对系统进行保护;
  • 显示对运维人员更友好的出错信息,便于定位出错机器;
  • 更强大的防攻击(访问速度限制)模块;
  • 更方便的命令行参数,如列出编译的模块列表、支持的指令等;
  • 可以根据访问文件类型设置过期时间;
  • ...

如果有哪些框架或者类库没有被 ChromeSnifferPlus 探测出来,可以去 github 创建 issuess。

github地址:https://github.com/justjavac/ChromeSnifferPlus

开源中国托管地址:http://git.oschina.net/justjavac/ChromeSnifferPlus

加载中
1
eechen
eechen
直接看响应头信息一般都能看到Server的类型:

curl -I http://www.taobao.com/index.php
看到的是Tegine。
curl -I http://weibo.com/signup/signup.php

看到的是nginx/1.2.2。
curl -I http://www.baidu.com/index.php
看到的是BWS/1.0。
curl -I http://cache.baiducontent.com/
看到的是Apache。

当然,你也可以使用Firefox(Firebug)和Chrome的审查元素来查看这些响应头。

开源的服务器一般都可以通过修改源代码然后编译来改变响应头中的Server信息:

修改httpd的header信息:
include/ap_release.h
#define AP_SERVER_BASEVENDOR "Apache Software Foundation"
#define AP_SERVER_BASEPROJECT "Apache HTTP Server"
#define AP_SERVER_BASEPRODUCT "Apache"
#define AP_SERVER_MAJORVERSION_NUMBER 2
#define AP_SERVER_MINORVERSION_NUMBER 2
#define AP_SERVER_PATCHLEVEL_NUMBER   25
os/os2/os.h
#define PLATFORM "OS/2"

隐藏版本信息(httpd):
ServerSignature Off
ServerTokens Prod

修改nginx的header信息:
src/core/nginx.h
#define NGINX_VERSION      "1.4.1"
#define NGINX_VER          "nginx/" NGINX_VERSION

隐藏版本信息(nginx):
server_tokens off;

eechen
eechen
回复 @loyal : 这里要的不是全,只是看下HTTP协议响应头中的Server信息,没必要用netcraft和builtwith这些站。
loyal
loyal
直接 http://builtwith.com 不就完了么?比那些全多了....
justjavac
justjavac
我这个插件的源码,也是根据head 的 server 判断的 https://github.com/justjavac/ChromeSnifferPlus/blob/master/background.js
eechen
eechen
回复 @BugTermina : 如果你要在Windows上用curl的话,可以用Cygwin里的curl。另外Firefox(Firebug)和Chrome的审查元素也可以看到响应头信息。
BugScanner
BugScanner
Windows上面用什么来测试呢?
1
1
loyal
loyal
直接  http://builtwith.com  不就完了么?比那些全多了....
0
__FresHmaN
__FresHmaN
为啥淘宝,微博的探测不了
justjavac
justjavac
thx。 已经提交 Issue 了:https://github.com/justjavac/ChromeSnifferPlus/issues/10
0
自由PHP
自由PHP
直接用谷歌F12 - network 看头信息,里面存在
  1. Server:
    Tengine
0
归海一刀
归海一刀

引用来自“loyal”的答案

直接  http://builtwith.com  不就完了么?比那些全多了....
这个工具不错。
返回顶部
顶部