У меня есть два домена services.xxxxxxx.com и www.xxxxxxxx.com, размещенные на двух разных машинах в моей локальной сети, и вместо переадресации портов я бы предпочел, чтобы весь трафик для каждого домена пересылался маршрутизатором на нужную машину. Нужно ли мне настроить DNS-сервер для этого или есть другая альтернатива, чтобы заставить это работать?
1 ответ
Есть два подхода к этому в зависимости от того, что может поддерживать ваш провайдер и интернет-провайдер. Однако с самого начала вы должны заметить, что ваш маршрутизатор не может определить разницу между разными поддоменами, он только маршрутизирует по IP-адресу и порту, а не по имени.
Наименее вероятный подход заключается в том, что ваш провайдер может предоставить более одного IP-адреса и что ваш маршрутизатор также может справиться с этим (мой старый маршрутизатор Draytek мог, мой новый маршрутизатор Billion не может). В этом случае вы должны настроить общедоступный DNS (не локальный), который бы указывал два субдомена на разные адреса, и в маршрутизаторе следил за тем, чтобы вы также соответствующим образом маршрутизировали эти адреса. Затем маршрутизатору потребуется перенаправить порт 80 на каждом IP-адресе на один IP-адрес (на хост-ПК, я полагаю, они оба на одном устройстве?) но два разных порта. Это, безусловно, самый простой и надежный подход. Если вы укажете, что это желаемый подход, я могу обновить ответ с более подробной информацией о том, как правильно настроить Apache и ПК.
Скорее всего, у вас будет только один внешний IP-адрес. Теперь все немного сложнее, поскольку оба субдомена должны быть направлены на один внешний IP-адрес и будут привязаны к одному внутреннему адресу / порту NAT, поскольку маршрутизатор не может дифференцировать трафик. В этом случае вам необходимо (как указал Дэвид) настроить обратный прокси-сервер. Это можно сделать с помощью специального прокси-инструмента или через mod_proxy
в Apache (другие веб-серверы, такие как NGINX, также могут это сделать). Вы также должны убедиться, что ваши два веб-приложения действительно работают за обратным прокси-сервером, а некоторые нет.
Обратный прокси-сервер будет принимать трафик для каждого субдомена и прозрачно перенаправлять его на комбинацию внутреннего адреса / порта, чтобы два приложения работали на отдельных портах на главном ПК. Для простых веб-приложений конфигурация проста, но для сложных приложений конфигурация может быть несколько сложной, чтобы получить правильную настройку.
В обоих случаях вам нужна помощь внешнего DNS, а не внутреннего.