lighttpd_1.4.20 源码分析
hepeng597
这个作者很懒,什么都没留下…
展开
-
mod_extforward: 让lighttpd记录客户端的真实IP
该模块在1.4.14及以后的版本才有,主要功能是在使用了反向代理后,可以获取客户端真实IP地址,在使用了nginx或者NetScaler这样的反响代理/负载均衡设备以后,后段服务器的访问日志中看到的请求IP都是前面的nginx或者NetScaler的IP,而我们很多时候需要通过分析Log来查看用户访问的地理分布情况,这就需要记录来访用户的真实IP地址。 1.首先需要在前端的负载均衡设备上配置翻译 2012-07-19 11:13:33 · 2608 阅读 · 0 评论 -
Lighttpd中CGI执行流程
转自:http://blog.csdn.net/lenky0401/article/details/4201713 对于Lighttpd中CGI执行流程的多余文字不用过多说明,图片里已经基本说的很清楚了。 从图中,我们可以看到对于客户端的每一个请求(动态页面,也就是需要CGI处理的),Lighttpd进程都是先fork一个CGI进程,然后将请求头(通过环境参数)和请求体(通过管道)传递转载 2012-07-19 18:19:20 · 4271 阅读 · 1 评论 -
array.c(h) 通用数组解析
转自:http://www.cnblogs.com/kernel_hcy/archive/2009/10/23/1588873.html Lighttpd提供了一个通用数组,这个数组与程序的其他部分练习较少,因此可以单独进行分析。 首先要说一下Lighttpd中的定义的一些数据结构。 在array.h中有下面的定义: typedef enum { T转载 2012-07-19 19:20:28 · 1891 阅读 · 0 评论 -
Lighttpd1.4.20源码分析之插件系统(2)---插件的加载和初始化
转自:http://www.cnblogs.com/kernel_hcy/archive/2010/03/11/1683814.html 前面讲了lighttpd插件系统的接口,下面我们来看看插件是怎么加载 和初始化的。 lighttpd的插件是以动态链接库的形式存在的。在服务器启动的时候,在初始化阶段将所有插件都加载进来。在server.c中的main函数中,加载插件是调用plu转载 2012-07-30 18:33:01 · 940 阅读 · 0 评论 -
Lighttpd1.4.20源码分析之插件系统(3)---PLUGIN_TO_SLOT宏
前面讲了lighttpd插件系统的加载和初始化,这一篇中,将介绍一下plugin.c中的宏PLUGIN_TO_SLOT。 在将PLUGIN_TO_SLOT宏之前,我们先来看看lighttpd中插件系统的对外接口。这个接口所对的“外”指的是lighttpd服务器。前面已经提到,在运行的过程中,lighttpd不知道所加载的插件都是干什么用的,只知道这些插件所实现的接口,也就是在plugin结构体中转载 2012-07-30 18:38:56 · 1167 阅读 · 0 评论 -
Lighttpd1.4.20源码分析之插件系统(1)---plugin结构体和插件接口
转自:http://www.cnblogs.com/kernel_hcy/archive/2010/03/11/1683809.html 在lighttpd中,使用插件的形式来增加服务的功能。同时,lighttpd提供了一个插件的公共接口给开发者,方便第三方提供额外的插件。Lighttpd的插件接口主要提供在plugin.h文件中。其中,plugin结构体是最核心的部分。转载 2012-07-30 18:24:34 · 1040 阅读 · 0 评论