Мультиплексор/туннелер HTTP-сервера (прокси)

Я ищу мультиплексор HTTP-сервера, потому что у меня есть только один общедоступный IP-адрес, и мне нужно использовать два разных веб-сервера (Tomcat и IIS) на одном порту (80). Поэтому я подумал, что можно использовать мультиплексор для туннелирования всего трафика для iis.mydomain.com на внутренний порт IIS (например, 81) и туннелирования всего трафика для apache.mydomain.com на внутренний порт Tomcat (для пример 82).

Я думаю, что мультиплексор должен выбрать правильный туннель, читающий заголовок HTTP-Host. И таким образом все становится прозрачным для интернет-браузера, потому что я использую туннели, а не редиректы.

Я ошибаюсь? Существует ли существующее программное обеспечение для Windows?


person Alberto    schedule 23.05.2013    source источник
comment
используйте модуль перезаписи для iis7 или apache   -  person pylover    schedule 24.05.2013
comment
mod_rewrite Apache может туннелировать соединение с IIS?   -  person Alberto    schedule 24.05.2013
comment
да, вы можете перенаправить весь трафик на основе его заголовка пакета на любой ip: порт на локальном или удаленном хосте. если вам это интересно, я могу предоставить вам образец   -  person pylover    schedule 25.05.2013
comment
Да! Предоставьте образец и напишите ответ   -  person Alberto    schedule 26.05.2013


Ответы (1)


Сначала вам нужно установить mod_proxy и mod-rewrite.в Windows или во многих дистрибутивах Linux, эти модули установлены по умолчанию, поэтому вы можете найти их на C:\Program Files\Apache Software Foundation\Apache2.2\modules в Windows и /usr/lib/apache2/modules в Linux.

поэтому вам нужно загрузить их через конфигурацию 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.so

окна:

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

затем настройте два виртуальных хоста на вашем апаче:

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:

статья об использовании apache в Windows.

person pylover    schedule 26.05.2013
comment
Благодарность! Наконец, я использовал apache с mod_proxy и опцией ProxyPass. - person Alberto; 02.06.2013