我正在寻找HTTP服务器多路复用器,因为我只有一个公共IP,并且我需要在同一端口( 80)上使用两个不同的Web服务器(Tomcat和IIS)。因此,我认为可以使用多路复用器将iis.mydomain.com的所有流量隧道传输到IIS的内部端口(例如81),并将apache.mydomain.com的所有流量隧道传输到Tomcat的内部端口(例如82)。
我认为多路复用器必须选择正确的隧道来读取HTTP-Host报头。这种方式使得所有内容对internet浏览器都是透明的,因为我使用的是隧道,而不是重定向。
我说错了吗?是否有用于Windows的现有软件?
发布于 2013-05-27 05:51:09
首先,你必须安装mod_proxy & mod-rewrite.on。在windows或许多linux发行版中,这些模块是默认安装的,所以你可能会在windows的C:\Program Files\Apache Software Foundation\Apache2.2\modules和linux的/usr/lib/apache2/modules上找到它们。
因此,您需要通过apache配置加载它们:
类unix操作系统:
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.sowindows:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule rewrite_module modules/mod_rewrite.so然后在apache上配置两个虚拟主机:
Listen 80
NameVirtualHost *:80
<VirtualHost *:80>
ServerName iis.mydomain.com
RewriteEngine on
RewriteRule ^/(.*)$ http://localhost:81/$1 [P]
</VirtualHost>
<VirtualHost *:80>
ServerName apache.mydomain.com
RewriteEngine on
RewriteRule ^/(.*)$ http://localhost:82/$1 [P]
</VirtualHost>

有关更多信息,请访问here和here
EDIT 1:
关于在windows上使用apache的article
https://stackoverflow.com/questions/16725077
复制相似问题