У меня есть хост-машина с Ubuntu Server 14 и несколько гостевых виртуальных машин, на которых также работает Ubuntu Server 14.
У меня есть две виртуальные машины с веб-серверами. Порт 80 перенаправляется на машину со стандартным сайтом (controlpanel.mysite.com), и у меня есть другая виртуальная машина, на которой запущен сайт, для которого требуется 443 (cloud.mydomain.com). 443 настроен в маршрутизаторе для пересылки на виртуальную машину, и на машине включено перенаправление. Если возможно, я бы хотел, чтобы порт 80 был перенаправлен на этот компьютер, ЕСЛИ он соответствует входящему имени. Когда люди вставляют http://cloud.mydomain.com они переносятся на порт 80 (controlpanel.mysite.com), который не является тем сайтом, который я хочу, чтобы они просматривали. Я хочу, чтобы он перешел прямо на cloud.mydomain.com.
Я пробовал следовать примеру на этом сайте https://httpd.apache.org/docs/trunk/vhosts/examples.html без везения. Любые идеи?
Предполагая, что вы хотите разместить веб-серверы на отдельных виртуальных машинах, вам понадобится устройство, которое может выбирать, какую виртуальную машину отправлять трафик на основе заголовка HTTP Host. Простая переадресация портов на уровне IP не может этого сделать. Большинство обратных прокси-серверов могут. Например., лак может. Вам понадобится еще одна виртуальная машина с лаком или, если вы запустите ее на одной из этих двух виртуальных машин, вам нужно, чтобы она прослушивала другой порт. Например, пусть он прослушивает порт 8080 и перенаправляет его с 80 на 8080.
Учитывая, что нет необходимости располагать все эти веб-сайты на отдельных виртуальных машинах, настройте Apache на своем хосте для обслуживания их всех с помощью директивы VirtualHost.
У тебя будет один <VirtualHost *:80>
для controlpanel.mysite.com, один для cloud.mydomain.com, а затем <virtualHost *:443>
для cloud.mydomain.com по HTTPS. DNS для всех этих доменов должен соответствовать IP-адресу вашего хоста.
Когда запросы поступают в Apache, он проверяет протокол (http / https), затем запрашиваемое доменное имя и соответственно обслуживает соответствующий веб-сайт.