Как сделать так чтобы можно было заходить на сервисы при помощи субдоменов на docker контейнерах?
такая ситуация:
у меня есть проект который я создаю на свое сервере, сервер у меня от компании - dell, модель - R730, комплектация 64 гигабайта оперативной памяти и два процессора intel xeon e5-2670v3, а также 2 блока питания мощностью по 1100 ватт каждый.
На этом сервере установлен alt linux virtualization и на нем развернут proxmox с openxswitch и ceph. А также у нас есть свой публичный ip адрес и доменное имя с субдоменами
На системе виртуализации у нас развернуто 8 виртуальных машин и 7 linux контейнеров.
На первой машине: Ubuntu с docker
На второй машине: ubuntu с zabbix
На третьей машине: ubuntu с grafana
На четвертой машине: alt linux на котором развернут мат
На пятой машине: ubuntu с reverse proxy apache, nextcloud и mariaDB
На шестой машине: ubuntu - linux -client
На седьмой машине: windows 10
На восьмой машине: windows server 2016 с развернутым Active Directory и DNS
В первом linux контейнере: NAT на основе alt linux
В второй linux контейнере: game-server minecraft на debian linux container
В третьем linux контейнере: VPN -Wireguard на debian linux container
В четвертом linux контейнере: web-site -wordpress на debian linux container
В пятом linux контейнере: DHCP на alt linux container
В шестом linux контейнере: Mail на alt linux container
В седьмом linux контейнере: Terminal на linux container на debian linux container
В чем же дело. Когда клиент запрашивает скажем имя у нас идет сначало запрос на роутер, затем после него на nat с nat на nginx reproxy, c него уже на нужную виртуальную машину или контейнер. У нас есть виртуальная машина с docker и в нем у нас развернуты в трех контейнерах сервисы: moodle, mariaDB, reverse proxy и nextcloud AiO.
Для того чтобы зайти на конейнер по веб интерфейсу я могу скажем ввести ip адрес, скажем 172.16.3.15 и порт на который пропрошен какой то сервис, скажем это будет moodle = 172.16.3.15:8443.
А теперь вопрос: А как можно сделать так чтобы клиенты подключаясь к нашим сервисам не вводили ip
-адрес, а вводили доменное имя для каждого из контейнеров?
Так и не понял в чем проблема.
Если к домену привязан уже DNS сервер, то создаете запись типа А на ваш белый IP адрес.
На роутере пробрасываете 80 и 443 порт на сервер с Reverse proxy
На Reverse Proxy делаете конфиги под сервисы.