Определить, на какой сервер в среде виртуальной машины пересылать запрос на основе заголовка (ов) хоста на одном сетевом адаптере [закрыто]

Как указано в заголовке вопроса: Я пытаюсь выяснить, как определить, на какой веб-сервер следует передавать сетевой трафик, на основе заголовка хоста указанного запроса. Я работаю с одним сетевым адаптером на хост-сервере, которому принадлежит вся моя гостевая ОС. Эта установка вызвана как необходимостью (мне доступно ограниченное оборудование), так и моим желанием изучить технологию, чтобы я мог максимально использовать свои компоненты.

Кто-нибудь знает, как я могу добиться этого в той же среде ESXi?

-1
задан 20 April 2016 в 05:05
2 ответа

Создайте новую виртуальную машину в среде ESXi, на которой работает nginx, и используйте модуль прокси для направления вашего трафика:

server {
    listen       80;
    server_name  hostname1 hostname2 hostname3 ... hostnameN;
    if ($http_host = hostname1) {
        proxy_pass http://192.168.0.1;
    }
    if ($http_host = hostname2) {
        proxy_pass http://192.168.0.2;
    }
    if ($http_host = hostname3) {
        proxy_pass http://192.168.0.3;
    }
    #...
    if ($http_host = hostnameN) {
        proxy_pass http://192.168.0.N;
    }
}

Соус: Модуль ngx_http_proxy_module

3
ответ дан 5 December 2019 в 19:13

Запрос веб-сайта разрешается на IP-адрес.

Затем трафик направляется в вашу сеть.

Ваш брандмауэр / маршрутизатор преобразует общедоступный IP-адрес в частный IP-адрес (на основе конфигурации трансляции IP-адресов).

Затем ваш брандмауэр / маршрутизатор выполняет ARP для MAC-адреса рассматриваемого IP-адреса.

Соответствующая виртуальная машина отвечает на запрос ARP.

Ваш брандмауэр / маршрутизатор отправляет трафик на MAC-адрес.

Коммутатор перенаправляет трафик на одобренный Приватный порт коммутатора (на основе его таблицы MAC-адресов).

Трафик проходит через pNIC хоста ESXi (без искажений).

Соответствующая виртуальная машина потребляет трафик и направляет его на соответствующий веб-сайт (в случае, если вы: повторное размещение нескольких веб-сайтов на одном веб-сервере с использованием заголовков хоста или эквивалента Linux) или на соответствующий веб-сервер (в случае, если вы используете прокси-сервер и несколько веб-серверов).

0
ответ дан 5 December 2019 в 19:13

Теги

Похожие вопросы