在Apache HTTPS反向代理中设置特定主机超时,单个VirtualHost,许多实际主机configuration

我将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>` 

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

这可以做到不需要一个单独的VirtualHost(从而另一个公共IP)?

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

当你设置一个NameVirtualHost *:443指令的时候,Apache会很高兴的发出警告,但是通过SSL连接使用主机头就可以正常工作。 给现有的VirtualHost一个通配符ServerAlias ,并确保它首先加载。

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