自动摘要
正在生成中……
我的网站使用:
https://github.com/litespeedtech/ols-docker-env
建立,将网站实例化后,在openlitespeed的网页管理后台(OpenLiteSpeed WebAdmin Console),进入Virtual Host example.com > General, 在Domain Name追加一个新的域名如link.example.com 并重启litespeed后,访问新的域名得到openlitespeed的默认404页面。
访问 example.com 却能正常访问,只有link.example.com不正常, 查看日志,link.example.com 的访问记录出现在localhost.access.log而非example.com.access.log,请问这是什么原因?
您遇到的问题(访问新域名 link.example.com 得到 404 错误,且日志出现在 localhost.access.log 而非您期望的 example.com.access.log)通常表明 OpenLiteSpeed (OLS) 服务器未能将新的域名正确地映射到您现有的 Virtual Host (example.com),或者根本就没有找到对应的 Virtual Host。
当 OLS 找不到匹配的 Virtual Host 时,它会将请求路由到 默认(或Catch-All)的 Virtual Host。在您使用的 ols-docker-env 环境中,这个默认配置很可能就是导致请求记录到 localhost.access.log 并返回 404 页面的原因。
您在 Virtual Host General 设置中添加域名只是第一步,您还需要在 Listener 中将该域名映射到 Virtual Host。
🚨 根本原因:缺少 Listener (监听器) 的 Virtual Host Mapping (虚拟主机映射)
OpenLiteSpeed 的请求处理流程是:
-
Listener (监听器): OLS 首先通过配置的端口(例如 80 和 443)监听传入连接。
-
Virtual Host Mapping (虚拟主机映射): 每个 Listener 都需要配置它应该将哪些域名/主机名映射到哪个特定的 Virtual Host。
-
Virtual Host: 只有当请求的主机名(即您的新域名
link.example.com)与 Listener 中的某个映射匹配时,请求才会由相应的 Virtual Host 处理。
🛠️ 解决方案步骤
您需要进入 OpenLiteSpeed WebAdmin Console 并执行以下操作:
-
导航到 Listeners (监听器):
- 在 WebAdmin Console 中,找到 Configuration > Listeners。
-
编辑对应的 Listener:
- 您需要为处理 HTTP 请求(端口 80)和/或 HTTPS 请求(端口 443)的 Listener 进行配置(通常名为 Default 或 DefaultSSL)。点击您要修改的 Listener 名称。
-
添加 Virtual Host Mapping (虚拟主机映射):
- 进入 Listener 配置页后,找到 Virtual Host Mappings 选项卡或部分。
- 点击 Add(添加)按钮。
- 在新的映射条目中:
-
Virtual Host: 选择您之前编辑过的 Virtual Host 名称,即
example.com。
-
Domains: 输入您的新域名
link.example.com。如果您想同时支持 www.link.example.com,您可能也需要将其添加进去,或者如果 Virtual Host 的 Domain Name 设置中已经包含了这些,则可能不需要重复添加,但通常最佳实践是在 Listener 映射中明确指定所有域名。
- 保存更改。
-
执行 Graceful Restart (平滑重启):
- 完成 Listener 的修改后,您会在 OLS WebAdmin Console 的顶部看到提示,要求您执行 Graceful Restart(平滑重启)或 Restart(重启)。请点击执行,以使配置生效。
执行这些步骤后,当用户访问 link.example.com 时,OLS 的 Listener 就能根据主机名匹配到 example.com 这个 Virtual Host,请求就会被正确处理,日志也会出现在 example.com.access.log 中。
配置 OpenLiteSpeed Virtual Host 的多站点设置时,最常遇到的遗漏步骤就是将域名添加到相应的 Listener 映射中。
How to set up virtual hosts with a LiteSpeed web server 这个视频展示了如何在 LiteSpeed Web Server 中设置虚拟主机。