Я новичок в Apache, извините, если это где-то задокументированное решение. Я рыскал по сети и не нашел ответа ...
Я хотел бы перенаправить трафик на основе URL-адреса, поступающего на мой веб-сервер Debian Wheezy, на котором запущен Apapche, на разные внутренние серверы. Например, если URL-адрес http://abc.mydomain.com он будет передан на IP-адрес сервера 192.168.0.100, но если URL-адрес http://def.mydomain.com он будет передан на IP-адрес сервера 192.168.0.110.
Заранее благодарю за любую помощь.
То, что вы хотите сделать, называется обратным прокси. В качестве альтернативы вы можете использовать Nginx, который превосходит Apache в качестве обратного прокси.
Вы можете использовать свой Apache
frontend Server в качестве обратного прокси для ваших внутренних серверов: mod_proxy
например:
<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>
Вам нужно будет включить эти модули:
a2enmod proxy
a2enmod proxy_http
Преимущество mod_proxy
в том, что он прозрачен для конечного пользователя: URL-адрес в адресной строке браузера останется неизменным: он останется http://abc.mydomain.com
но на самом деле их обслуживают http://192.168.0.100
.