Archive

Posts Tagged ‘nginx’

在Squid后面的Nginx如何记录客户端IP

July 17th, 2008 Sparkle 4 comments

(这是我在去年12月的时候查到的资料,不知道现在nginx的文档有没有更完善)
通常我们会在web server前面部署squid,这个时候web server的所有请求都是来自squid,那我们的web server的日志记录到的所有请求都是squid服务器的IP。这个时候,我们会让squid发出一个X-Forwarded-For的header包含真正客户端的IP,我们需要修改web server的日志记录字段用header X-Forwarded-For代替remote_ip,apache的修改方法很简单,这里就不说了。
这里要说的是nginx的修改方法,其实原理很简单,但是nginx的文档里面完全没有提及怎么拿某个header,ft。最后还是在maillist找到答案的

http://thread.gmane.org/gmane.comp.web.nginx.english/944/focus=946

All client headers are available as $http_… variables.
For example, “X-Strange-Header” as $http_x_strange_header.

剩下的就很简单了

Categories: 互联网 Tags: ,

Apache、Nginx、Lighttpd对比

December 18th, 2007 Sparkle 2 comments

Apache

* 经典的Web服务器
* 除了慢没有别的缺点了
* 对了,Apache2对fcgi支持并不好
* 非常好用的proxy和proxy_ajp(很多人用它作为tomcat的前端)
* 不支持epoll(这年头,epoll几乎是性能的必备)

Nginx

* 速度快,占用资源少
* 杀手级的proxy和rewrite
* 非常不错的静态文件能力
* 最适合作为整个网站的前端服务(将php、svn等不同请求发送往后端apache)
* 其他功能马马虎虎

Lighttpd

* 杀手级的静态文件能力
* 杀手级的fcgi能力
* 不稳定的proxy模块

总体来说,如果你不确定应该用什么服务器,那就应该用Apache
但是稍微可以配置多个服务的情况下,做一个Nginx在最前端,然后把需要的功能转发给Apache是最好的选择
如果你打算跑fcgi,Lighttpd是不二的选择
如果你打算做图片服务器,独立的Lighttpd也是很好的选择

Categories: 互联网 Tags: , ,