操作
server.modules 选项¶
描述¶
server.modules¶
要加载的模块
模块的顺序(列出的序列)很重要:
模块按照它们指定的顺序执行。更具体地说:对于 lighttpd 在请求处理期间提供的每个模块钩子,注册了给定钩子的每个模块都有机会处理请求,并且这会按照 server.modules
中列出的相同顺序依次发生。
在 mod_fastcgi 之后加载 mod_auth 可能会禁用 fastcgi 后端的身份验证(如果 check-local 被禁用)。
由于身份验证(auth)和访问控制(access)应尽早完成,请将它们放置在所有执行模块(如 proxy、fastcgi、scgi 和 cgi)之前。
与 auth 和 access 类似,setenv 应尽早列出,并置于任何可能结束请求的模块之前。例如,mod_setenv 应在 mod_redirect 之前列出,以便随重定向发送 setenv 响应头(例如 HSTS 头。参见 #2946)
某些配置倾向于尽早加载 auth 模块,以便重定向和重写仅针对授权请求发生。否则,重写和重定向应放在接下来,然后是 auth、access 和 docroot 插件。
之后是 fastcgi、cgi、scgi 和 proxy 等外部处理程序,最后是 mod_accesslog 等后处理插件。
示例:这不是 lighttpd 模块的完整列表。您应优先仅加载您使用的模块。
server.modules = ( "mod_openssl", "mod_access", "mod_setenv", "mod_auth", "mod_rewrite", "mod_redirect", "mod_status", "mod_simple_vhost", "mod_evhost", "mod_alias", "mod_userdir", "mod_fastcgi", "mod_proxy", "mod_cgi", "mod_ssi", "mod_deflate", "mod_expire", "mod_rrdtool", "mod_accesslog" )以下模块会自动加载,因此您无需自行加载它们
- mod_indexfile(如果手动加载,应尽早加载)
- mod_dirlisting(如果手动加载,应在 mod_staticfile 之前加载)
- mod_staticfile(如果手动加载,应在列表末尾或接近末尾加载)