在 Apache HTTPS 反向代理、单个虚拟主机、多个真实主机配置中为特定主机设置超时

在 Apache HTTPS 反向代理、单个虚拟主机、多个真实主机配置中为特定主机设置超时

我正在运行 Apache 作为 HTTPS 反向代理,其中许多真实主机通过单个 VirtualHost(单个公共 IP,通配符证书)代理,使用 mod_rewrite 和 mod_proxy。

基本上是这样的:

<VirtualHost *:443>
SSLEngine On
...
RewriteEngine On
RewriteCond %{SERVER_NAME} ^(server1|server2|server3)\.domain\.net$
RewriteRule ^/(.*)$ https://%{SERVER_NAME}/$1 [P]   # Forward requests for listed servers
RewriteRule ^.*$ - [F]                              # Block anything else
</VirtualHost>`

现在我需要将超时设置为比默认值更大的值,但仅限于发往其中一个服务器(移动设备的同步服务器)的请求。

可以在不需要单独的 VirtualHost(因此也不需要另一个公共 IP)的情况下完成此操作吗?

答案1

拥有额外的 VirtualHost 并不需要新的公共 IP;您的通配符证书(我假设?)对于新的同步服务器的侦听器有效。

当您设置指令时,Apache 会很乐意发出警告NameVirtualHost *:443,但通过 SSL 连接使用主机标头就可以正常工作。为现有的 VirtualHost 提供通配符ServerAlias,并确保它首先加载。

然后,您可以将第二个 VirtualHost 连接到同一个 IP(使用一个 IP 地址,ServerName向其提供对移动同步服务器的请求)。

相关内容