代理虚拟主机
虚拟托管允许单一代理服务器在单一 IP 地址和端口上托管多个域和端口。
代理虚拟主机由 Web 域的名称和端口以及一组代理规则表达式(用于根据特定条件来执行代理操作)组成。另外,每个代理虚拟主机都可以覆盖代理服务器配置,以便专门为该虚拟主机定义配置元素。下列设置可以指定虚拟主机设置以替换服务器作用域设置:
- 日志记录
- 定制错误页面
- 静态文件服务
代理虚拟主机使用代理服务器操作和代理规则表达式。代理规则表达式和代理服务器操作仅用于代理虚拟主机。代理虚拟主机接收到入站请求时,将对代理规则表达式进行求值。如果该表达式的求值结果为 true,那么将执行该代理规则表达式所指定的任何代理服务器操作。在表达式的求值结果为 true 时,可以指定下列代理服务器操作:
- 路由规则
- 高速缓存规则
- URL 重写规则
- 头修改规则
- 压缩规则
您可以为代理服务器创建另一个代理虚拟主机,以便表示该代理服务器所托管的每个 Web 域。例如,端口 80 上对 www.proxy1.com 的请求将使用对 www.proxy1.com:80 指定的配置。端口 80 上对 www.proxy2.com 的请求将使用对 www.proxy2.com:80 指定的配置。您可以使用通配符来指定某个代理虚拟主机可以用于所有 Web 域或所有端口。例如,www.proxy1.com:* 指定代理虚拟主机可以用于所有对 Web 域 www.proxy1.com 发出的请求,而与端口无关。*:80 的代理虚拟主机指定,它可用于端口 80 上的所有请求,而与 Web 域无关。
在创建具有所需代理虚拟主机的代理服务器之后,HTTP 协议将允许单一服务器进程托管多个 Web 域。代理服务器接收到入站请求时,它将入站请求消息中的代理虚拟主机与该代理虚拟主机的相应配置匹配。如果某个请求由于使用了通配符而与多个代理虚拟主机匹配,那么将使用代理虚拟主机列表中的第一个代理虚拟主机。