项目

常规

个人资料

操作

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(如果手动加载,应在列表末尾或接近末尾加载)

gstrauss2 年多前更新 · 9 次修订