Сценарий:

У меня есть порт, перенаправленный маршрутизатор, т.е. переадресованный port 80 на HostA. У меня есть другой хост HostB в той же сети, где запущен веб-сервис на port 80 . Как NAT справится с этим?

2 ответа2

2

Не будет То есть маршрутизатор не позволит вам переадресовывать один и тот же порт 80 с одного и того же внешнего IP-адреса на оба хоста одновременно. (Если это так, то будет соответствовать только "первое" правило.)

Чтобы запустить несколько веб-серверов за одним IP-адресом, вы должны перенаправить порт 80 на обратный прокси-сервер, который затем выполняет аналогичные действия, но на уровне HTTP. (То есть обратный прокси-сервер понимает запросы HTTP и принимает решения на основе заголовка HTTP "Host" или TLS SNI.) Различные популярные веб-серверы (например, Apache, Nginx) имеют функцию обратного прокси, но есть и выделенные.

2

При доступе через LAN HostA будет указывать на HostA, HostB на HostB. Ex. hosta.domain.com:80 (или по ip) hostb.domain.com:80 ответит нормально.

При доступе через WAN (общедоступный Интернет, а не локальный) он отвечает HostA, поэтому RouterIP:80 или hosta.domain.com будут подключаться к HostA, тогда как HostB просто не существует или не отвечает.

--- Предполагая, что HostA прослушивает порт 80.

Если только HostB прослушивает порт 80, то ни один из них не будет работать в глобальной сети, в то время как только HostB будет работать в локальной сети, поскольку только он прослушивает соединения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .