跳转到内容

监听器

监听器定义 OpenLiteSpeed 绑定的网络地址和端口。每个监听器可以服务一个或多个虚拟主机,并可选择终止 SSL/TLS。

监听器在 /usr/local/lsws/conf/httpd_config.conf 中定义:

listener HTTP {
address *:80
secure 0
}
listener HTTPS {
address *:443
secure 1
keyFile /etc/letsencrypt/live/example.com/privkey.pem
certFile /etc/letsencrypt/live/example.com/fullchain.pem
}
参数说明示例
address绑定的 IP 和端口。使用 * 表示所有接口。*:80、192.168.1.1:8080
secure启用 SSL/TLS。0 = 明文 HTTP,1 = HTTPS。1
keyFile私钥文件路径(当 secure = 1 时使用)。/path/to/privkey.pem
certFile证书文件路径(当 secure = 1 时使用)。/path/to/fullchain.pem
certChain启用证书链。1 = 开启。1

在 httpd_config.conf 中将虚拟主机映射到监听器:

listener HTTP {
address *:80
secure 0
map example.com example.com, www.example.com
map app.example.com app.example.com
}

map 指令语法:

map <虚拟主机名> <域名1>, <域名2>, ...

虚拟主机名必须与 virtualhost 块中定义的名称匹配。域名可以使用通配符:

map example.com *.example.com

您可以为不同用途定义独立的监听器:

# 公网 HTTP
listener HTTP {
address *:80
secure 0
map example.com example.com, www.example.com
}
# 公网 HTTPS
listener HTTPS {
address *:443
secure 1
keyFile /etc/letsencrypt/live/example.com/privkey.pem
certFile /etc/letsencrypt/live/example.com/fullchain.pem
map example.com example.com, www.example.com
}
# 内部管理(仅绑定到 localhost)
listener Admin {
address 127.0.0.1:8088
secure 0
map internal internal.example.com
}

OLS 支持 IPv6 地址:

listener HTTPv6 {
address [::]:80
secure 0
map example.com example.com
}

要同时监听 IPv4 和 IPv6,可定义独立的监听器,或使用 [::]:80(是否同时接受两种协议取决于操作系统的 net.ipv6.bindv6only 设置)。

当多个 SSL 虚拟主机共享同一个监听器时,OLS 使用 SNI 来选择正确的证书。每个虚拟主机可以在虚拟主机配置中或通过 WebAdmin 指定自己的证书。