操作
mod_sockproxy¶
模块:mod_sockproxy
描述¶
透明套接字代理 (自 lighttpd 1.4.51 起可用)
选项¶
lighttpd 的 mod_sockproxy 是一个透明套接字代理。对于给定的 $SERVER["socket"]
配置,连接将被转发到后端,不进行任何协议解释。
mod_sockproxy 配置选项
- sockproxy.server: 用于发送请求的后端服务器定义;每个后端主机的选项。每个文件扩展名都可以有自己的处理程序。通过为同一个扩展名指定多个主机来完成负载均衡。
- sockproxy.debug: 调试级别 (值介于 0 和 65535 之间)
- sockproxy.balance: 可以是 'fair' (默认)、'hash'、'round-robin' 或 'sticky' 之一。
- 'fair' 或 'least-connection' 是基于负载的常规被动均衡。
- 'round-robin' 为每个请求选择另一个主机。
- 'hash' 根据请求 URI 生成哈希值,并确保相同的请求 URI 始终发送到相同的主机。这可以由于更高的缓存局部性而大大提高后端服务器的性能。
- 'sticky' (自 1.4.44 起) 将来自同一(客户端)IP 的请求发送到同一后端。
sockproxy.server 节的结构
( <extension> => ( [ <label> => ] ( "host" => <string> , "port" => <integer> ), ( "host" => <string> , "port" => <integer> ) ), <extension> => ... )
- <extension>: 对于 mod_sockproxy,必须是 "/" 或 "" (空)
- <label>: 可选名称,显示在 mod_status 生成的统计信息中,有助于指示哪个后端处理程序处理了此扩展名。
- "host": 代理服务器的 IP (自 1.4.46 起,DNS 名称在 lighttpd 启动时解析为第一个 IP)
(自 1.4.36 起:) 如果主机以"/"
开头,lighttpd 将尝试连接到 Unix 域套接字 - "port": “主机”上由 sockproxy 后端服务器使用的 TCP 端口 (默认: 80)
例如
sockproxy.server = ( "" => ( ( "host" => "10.0.0.242", "port" => 10000 ) ) )