@dim122kb

Как сделать так чтобы можно было заходить на сервисы при помощи субдоменов на 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
-адрес, а вводили доменное имя для каждого из контейнеров?
  • Вопрос задан
  • 127 просмотров
Пригласить эксперта
Ответы на вопрос 3
Alex_Geer
@Alex_Geer
System Engineer
Так и не понял в чем проблема.
Если к домену привязан уже DNS сервер, то создаете запись типа А на ваш белый IP адрес.
На роутере пробрасываете 80 и 443 порт на сервер с Reverse proxy
На Reverse Proxy делаете конфиги под сервисы.
Ответ написан
@Drno
Ну у тебя их все должен ловить nginx reverse proxy, и дальше уже разруливать
Ответ написан
Комментировать
BasiC2k
@BasiC2k
.NET developer (open to job offers)
C помощью nginx можно настроить переадресацию "субдомен -> контейнер" или "порт -> контейнер".
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы