Во-первых, чтобы найти статьи на интересующую меня тему, пришлось по изгаляться с поиском, правильно это называется так: “Redirect a frontend URL to another backend webserver” – потому как поисковики завалены завалены статьями по веб-редиректам – 301-302 и проч, что вообще не устраивает меня и работать в моей ситуации не будет.
Спасибо упорству и линуксу, который позволяет настроить это как “два пальца” – потому что Windows Server 2008 r2 IIS – предлагает костыли, как бы странно это не звучало. В общем, пришлось гнать этот IIS тряпками.
Итак, ситуация:
- 1 сервер ESXi
- 1 роутер = 1 внешний белый IP
- 3 веб-сервера
- Сentos 6 + apache2 – httpd:80
- chat.typical-kirovohrad.org.ua – BlabChat
- test.www.trianglesis.org.ua – просто тест
- Debian + apache2 – apache2:80
- work.typical-kirovohrad.org.ua – Redmine
- WinServer 2008 + IIS 7.5:80 файлопомойка
- Сentos 6 + apache2 – httpd:80
И ранее, вся эта поебта работала каждая на своем порте, мне то конечно было пофиг, до тех пор, пока шальная мысль меня не посетила: “Почему я, имея три веб сервера, практически ничем не загруженный хост и немного свободного времени не могу себе настроить работу нормально, а не костылями?
Так вот, в топку IIS все оказалось элементарно просто для Apache+Centos.
Достаточно было просто добавить волшебные proxypass:
VirtualHost *:80 ServerName abc.mydomain.com ProxyPass / http://192.168.0.100 ProxyPassReverse / http://192.168.0.100 /VirtualHost
VirtualHost *:80 ServerName def.mydomain.com ProxyPass / http://192.168.0.110 ProxyPassReverse / http://192.168.0.110 /VirtualHost
Магия, мать его, все заработало с пол пинка, теперь мой основной Centos сервер обрабатывает свои собственные запросы на сайты, лежащие на нем, и еще на остальные по порту 80 – переводит пользователя так, что он ничего не замечает.
Цель достигнута!
Примечания:
- не забывать настраивать файерволы
- проверить активированы ли модули: a2enmod proxy; a2enmod proxy_http