我正在寻找HTTP服务器多路复用器,因为我只有一个公共IP,我需要在同一个端口(80)上使用两个不同的Web服务器(Tomcat和IIS)。所以我认为可以使用多路复用器将iis.mydomain.com的所有流量隧道传输到IIS的内部端口(例如81),并将apache.mydomain.com的所有流量隧道传输到Tomcat的内部端口(用于例82)。
我认为多路复用器必须选择读取HTTP-Host头的正确隧道。这种方式使得所有人都对互联网浏览器透明,因为我使用的是隧道,而不是重定向。
我错了吗? 是否有适用于Windows的现有软件?
答案 0 :(得分:1)
首先你需要安装mod_proxy& mod-rewrite.on windows或许多linux ditributions这些模块默认安装,所以你可以在windows中的C:\Program Files\Apache Software Foundation\Apache2.2\modules
和linux中的/usr/lib/apache2/modules
找到它们。
所以你需要通过apache config加载它们:
unix-like os:
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.so
窗口:
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>
编辑1:
关于在Windows上使用apache的article