Question

I'm looking for a HTTP Server Multiplexer because I've only one public IP and I need use two different Web Servers (Tomcat and IIS) on the same port (the 80). So I thought that is possible use a multiplexer to tunnel all traffic for iis.mydomain.com to the internal port of IIS (for example the 81) and tunnel all the traffic for apache.mydomain.com to the internal port of Tomcat (for example 82).

I think the multpliplexer must choose the correct tunnel reading the HTTP-Host header. And this way makes all transparent to the internet browser, because I use tunnels, not redirects.

Am I wrong? Is there an existing software for Windows?

Was it helpful?

Solution

First you have to install mod_proxy & mod-rewrite.on windows or many linux ditributions these modules are installed by default, so you may found them on C:\Program Files\Apache Software Foundation\Apache2.2\modules in windows and /usr/lib/apache2/modules in linux.

so you need to load them via 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

windows:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule rewrite_module modules/mod_rewrite.so

then configure two virtual hosts on your 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>

enter image description here

for more information please see here and here

EDIT 1:

An article about using apache on windows

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top