Как организовать доступ к виртуальным машинам из веба?
Ситуация следующая:
1. Есть зарегистрированный домен xyz.com;
2. NS'ы домена смотрят на noip.com;
3. На роутере настроен DyDNS;
4. Роутер пробрасывает 80-й порт в локальную сеть на 192.168.10.77;
5. В локальной сети стоит Mac Pro (OS X 10.7, 192.168.10.77) с несколькими виртуальными машинами внутри (VirtualBox, Ubuntu 14.04, nginx);
6. Каждая виртуальная машина в private network со своим IP 192.168.77.xxx;
7. На noip.com висят xyz.com, foo.xyz.com, bar.xyz.com.
Собственно, вопрос:
Где и каким образом разводить запросы xyz.com, foo.xyz.com и bar.xyz.com на соответствующие виртуальные машины?
Нужен http\балансер\прокси с поддержкой того, что называют - http-in frontend
В случае с виртуалхостами (разные fdqn на одном адресе) он примет соединение, договорится с браузером и передаст его по назначению
В порядке предпочтения - nginx, squid, apache
Так как нужно работать на уровне протокола приложения (l7,http) в "железе" такие вещи делают только под серьёзную нагрузку, роутером не обойтись (ну или OpenWRT ставить)
Можно и на мак, можно на дополнительную виртуалку или отдельный хост
Главное прямая доступность низлежащих веб серверов, в его конфиге они и будут дифиринцироваться
Dnat снаружи будет уходить непостредтсвенно на его порт - типичная схема фронтенд-бекенд