Я не очень разбираюсь в администрировании, но вот моя ситуация:

У меня большой сервер только с одним IP-адресом. На этом сервере у меня 9 виртуальных машин. Я хочу, чтобы все эти домены указывали на разные машины:

www.mysite.com => 10.8.0.10
api.mysite.com => 10.8.0.20
pro.mysite.com => 10.8.0.30

dev-www.mysite.com => 10.8.1.10
dev-api.mysite.com => 10.8.1.20
dev-pro.mysite.com => 10.8.1.30

test-www.mysite.com => 10.8.2.10
test-api.mysite.com => 10.8.2.20
test-pro.mysite.com => 10.8.2.30
  1. Я думал, что, настроив DNS, я мог перенаправить каждый поддомен, используя другой порт ... IP:80 IP:81 IP:82 ... IP:89 -> но оказывается, что я был не прав

  2. Тогда я подумал, что с помощью nginx я могу перенаправить субдомены на виртуальные машины ... Я не нашел правильного решения

Можете ли вы дать свои лучшие советы для этой конкретной ситуации SVP?

1 ответ1

0

Тогда я подумал, что с помощью nginx я могу перенаправить субдомены на виртуальные машины

Да, именно так работает функция обратного прокси в nginx.

На хост-сервере определите блоки server { … } для всех ваших поддоменов. Вместо указания корневого пути документа используйте proxy_pass чтобы указать nginx на каждую из ваших виртуальных машин. (Виртуальные машины должны использовать только хост или мостовые сети.)

Для вашего примера вы можете использовать:

server {
    server_name www.mysite.com;
    listen *:80;
    listen [::]:80;
    location / {
        proxy_pass http://10.8.0.10;
    }
}

server {
    server_name api.mysite.com;
    listen *:80;
    listen [::]:80;
    location / {
        proxy_pass http://10.8.0.20;
    }
}

etc.

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