dynamic反向代理与Apache 2

希望你能帮助我这个,我有一个Apache服务器configuration为一些域的反向代理。 他们指向和IIS服务器,也有一些PHP网站作为虚拟主机在同一台机器。

对于反向代理我做到了这一点:

<VirtualHost *:80> ServerName reverseprox1 ServerAlias site1.domain.com ProxyRequests Off ProxyPass / http://site1.domain.com/ ProxyPassReverse / http://site1.iisserver.internald.com/ ProxyPassReverseCookieDomain site1.iisserver.internald.com site1.domain.com </VirtualHost> <VirtualHost *:80> ServerName reverseprox2 ServerAlias site2.domain.com ProxyRequests Off ProxyPass / http://site2.domain.com/ ProxyPassReverse / http://site2.iisserver.internald.com/ ProxyPassReverseCookieDomain site2.iisserver.internald.com site2.domain.com </VirtualHost> ... 

工作正常,但现在我需要添加约20个testing网站(随机的名称,不只是site1,site2,site3等)指向iis服务器。 有没有办法让这个dynamic? IE它检测site2.domain.com的site2并将其指向site2.iisserver.internald.com。

我不能使用鱿鱼。

这是我的尝试,但迄今为止失败了

 <VirtualHost *:80> ServerName default ServerAlias domain.com ProxyRequests Off RewriteEngine on RewriteCond %{HTTP_HOST} (.+)\.domain\.com ProxyPass / http://%1.domain.com/ ProxyPassReverse / http://%1.iisserver.internald.com/ ProxyPassReverseCookieDomain %1.iisserver.internald.com %1.domain.com </VirtualHost> 

非常感谢您的帮助

有两个class轮有什么问题:

1-21的情况。

 #!/bin/bash while [[ $(( $i < 21 )) != 0 ]]; do cat << EOF <VirtualHost *:80> ServerName reverseprox$i ServerAlias site$i.domain.com ProxyRequests Off ProxyPass / http://site$i.domain.com/ ProxyPassReverse / http://site$i.iisserver.internald.com/ ProxyPassReverseCookieDomain site$i.iisserver.internald.com site$i.domain.com </VirtualHost> EOF i=$(( $i + 1 )) done 

任何事情 – 的情况。

它打印所有需要添加到您的conf文件的logging。

 #!/bin/bash #Read a file, or query a db somewhere. for i in $(cat /path/to/namelist); do cat << EOF <VirtualHost *:80> ServerName reverseprox$i ServerAlias $i.domain.com ProxyRequests Off ProxyPass / http://$i.domain.com/ ProxyPassReverse / http://$i.iisserver.internald.com/ ProxyPassReverseCookieDomain $i.iisserver.internald.com $i.domain.com </VirtualHost> EOF done 

我很确定你可以使用重写规则。

有关如何设置重写规则以使用mod_proxy的说明,请参阅http://httpd.apache.org/docs/current/rewrite/flags.html#flag_p