Как раздать каждой виртуалке свой домен имея один белый IP? Ради обшего развития и от нечего делать решили запилить небольшой домашний сервачок с proxmox на борту. Задача: Для каждой виртуальной машины необходимо назначить домен типа vmX.pm.tld, где vmX имя виртуальной машины. Так как хостимся дома, то естественно что белый IP один на все машины. Все машины подключены в режиме сетевого моста. Так как на этих виртуалках будут крутиться сервисы, то необходимо чтобы для каждой машины при обращении по домен:порт все запрсы адресовались нужной машине Как это реализовать?
Для реализации данной задачи можно использовать реверсивный прокси (reverse proxy) на основном сервере с одним белым IP-адресом. Например, можно использовать Nginx в качестве реверсивного прокси.
В данной конфигурации Nginx будет перенаправлять запросы по домену vmX.pm.tld на соответствующую виртуальную машину, используя внутренний IP-адрес каждой машины и порт, на котором работает необходимый сервис.
Таким образом, каждая виртуальная машина будет доступна по своему доменному имени, при этом все запросы будут проходить через один белый IP-адрес хост-сервера.
Для реализации данной задачи можно использовать реверсивный прокси (reverse proxy) на основном сервере с одним белым IP-адресом. Например, можно использовать Nginx в качестве реверсивного прокси.
Вот пример конфигурации Nginx для данной задачи:
server {listen 80;
server_name vm1.pm.tld;
location / {
proxy_pass http://внутренний_ip_адрес_vm1:порт_vm1;
}
}
server {
listen 80;
server_name vm2.pm.tld;
location / {
proxy_pass http://внутренний_ip_адрес_vm2:порт_vm2;
}
}
и так далее...
В данной конфигурации Nginx будет перенаправлять запросы по домену vmX.pm.tld на соответствующую виртуальную машину, используя внутренний IP-адрес каждой машины и порт, на котором работает необходимый сервис.
Таким образом, каждая виртуальная машина будет доступна по своему доменному имени, при этом все запросы будут проходить через один белый IP-адрес хост-сервера.