Долгое время читатель первого раза постер (хе хе). Итак, вот моя дилемма. У меня дома есть 3 сайта для друзей, ничего особенного, все только WordPress сайты. Запуск их в VMWare Workstation. Есть куча барана, чтобы сэкономить и весь этот беспорядок, так что не беспокойтесь на фронте ресурсов. Когда я строю сайт № 2, я понимаю: «CRAP! ... Как я собираюсь маршрутизировать их через маршрутизатор?» Теперь, прежде чем некоторые из вас скажут vhosts, я разделяю сайты на разных ВМ. 1 из 3 не очень важный сайт, но в случае чего-то, я бы предпочел, чтобы все не закрывались одновременно. Так что ...
У меня есть общий маршрутизатор Linksys (с ужасным новым Smart Wifi). Человек, мне нужно изменить прошивку на хорошие вещи, но это еще один день. Таким образом, один общедоступный IP-адрес, 3 виртуальных машины с уникальными внутренними IP-адресами, т.е. 192..1 / 2/3. Маршрутизатор не позволяет переадресацию портов на несколько IP-адресов, использующих один и тот же порт (80).
Если способ многого сделать, я укушу пулю и перенесу их в одну и ту же виртуальную машину и зайду на разные сайты, но мои мысли заключались в том, чтобы использовать ДРУГУЮ виртуальную машину. Виртуальный роутер. Я могу подумать о некоторых виртуальных машинах маршрутизатора / брандмауэра, таких как pfSense, m0n0wall, но я просто ищу что-то простое и легкое для начала, но я предполагаю, что потребуется действовать немного как виртуальный хост, используя порт 80 запрос от маршрутизатора, затем рассредоточение трафика к 3 ВМ, содержащим веб-серверы, используя заголовки хоста (я думаю).
У кого-нибудь есть предложение, лучший метод и т. Д.? Заранее признателен, и если бы все они находились под одной крышей виртуальной машины, это решило бы мгновенно, в моем случае разделение виртуальной машины своего рода превосходит это.
Но очень открыт для мыслей. Приветствия.
источник
Ответы:
Настройте еще один виртуальный сервер в качестве прокси, который будет направлять трафик к соответствующему виртуальному серверу с использованием доменного имени.
источник
Я пробовал различные решения, и у меня есть успех, используя Apache2. Он поставляется с функцией виртуального хостинга.
Вам нужно будет немного поработать над Apache2, но я включу в себя руководство по настройке для вас. Как это работает: apache2 работает с функцией «Домен на основе имени», где он запускает столько сайтов, сколько мне нужно, но только на одном общедоступном IP. [Я разработчик, который объясняет, почему так много сайтов].
Подключите ваш apache2.conf, добавив эти три строки в конце
Настройте ваш httpd.conf с этим руководством; отрегулируйте соответственно вашему случаю. По умолчанию в качестве новой установки вы не увидите httpd.conf, но Apache2 ответит, если обнаружит, что httpd.conf находится в каталоге / etc / apache2.
и добавьте это в httpd.conf. Большой акцент, чтобы оставить : 80 нетронутыми. Когда ты видишь ' ## РЕДАКТИРОВАТЬ ЭТО * '; вот где вы можете редактировать по своему вкусу, оставляя других нетронутыми.
затем...
и вуаля! Удачи!
РЕДАКТИРОВАТЬ: имейте в виду - после настройки сайтов и проверки их работоспособности в локальной сети вам необходимо обновить DNS с вашим поставщиком услуг DNS (где вы зарегистрировали эти домены) и обновить свой IP-адрес (где вы размещаете свою машину с эти мультисайты).
источник
Кстати, это невозможно со стандартным TCP / IP. Вам нужна программа, то есть прокси, которая принимает запросы через порт, просматривает запросы, а затем шунтирует запросы.
Apache и другие веб-серверы имеют функцию «обратного прокси», которую можно использовать для «разделения» вашего входящего трафика. Обратный прокси-сервер сообщает Apache, что запросы на определенный веб-путь, т. Е. «Yourdomain / directory1», должны быть переданы другому веб-серверу, а ответы от этого веб-сервера возвращены исходному клиенту.
Однако помните, что если у вас есть приложения, работающие на этом веб-сервере (PHP и т. Д.), Им может потребоваться изменить настройки, так как их внешний URL-адрес будет другим. Возможно, вам придется сообщить PHP-приложению, что оно находится по адресу «yourdomain / directory1», а не «yourdomain», чтобы оно могло правильно генерировать ссылки. Можно попросить Apache переписать трафик с внутреннего сервера, прежде чем он вернет его клиенту, но это сложно, и вы можете избежать его, если это возможно. Приложения, которые генерируют ссылки с помощью Javascript, могут быть особенно проблематичными, поэтому не все веб-приложения легко «реверсивно проксируются».
Так что установите Apache на четвертую «внешнюю» виртуальную машину - перенаправьте свой входящий TCP 80 на эту виртуальную машину. Вы также должны убедиться, что эта виртуальная машина может подключаться к другим виртуальным машинам в вашей «виртуальной сети». Затем на своей «интерфейсной» виртуальной машине вы можете настроить отдельный обратный прокси-сервер для каждого веб-сайта.
Вот соответствующие детали конфигурации Apache, используя
ProxyPass
а такжеProxyPassReverse
директивы.Вы также можете разработать и внедрить кэширование, которое поможет повысить производительность.
источник