LINUX.ORG.RU
ФорумAdmin

Сервис в docker, домен и DNS.

 , , , ,


0

2

Привет, ЛОР. Заранее попрошу сильно не бить, поскольку являюсь front-end разработчиком и в тему серверов полез впервые. Возник вопрос/проблема следующего плана.

Есть VPS со статическим IP. На нём много чего держится, но по большей части это VPN туннели.

Есть docker образ, в котором развернут cgit, он висит на отдельном порту и к нему сейчас можно получить доступ по ссылке вида http://vps_ip:port/cgit.

Есть доменное имя, купленное у RU-CENTER.

Есть бесплатный DNS от CloudFlare.

Я хочу скрестить все это воедино, но пока не очень понимаю как. Запись DNS в CloudFlare позволяет делать связку из domain name -> IPv4, но мне нужен еше сторонний порт и путь. В общем, вопрос, как это делают нормальные люди и в какую сторону копать?

Заранее спасибо за ответы.

★★★★

но мне нужен еше сторонний порт и путь

Реверс-прокси. Nginx, traefik, caddy — популярные. Использую nginx без каких-то веских причин, просто так сложилось.

anonymous
()

Лучше всего настроить реверс-прокси.

Ставишь Caddy. Пример конфигурации (docker-compose.yaml):

services:
  "caddy":
    image: "caddy:2-alpine"
    ports:
      - "0.0.0.0:80:80"
      - "0.0.0.0:443:443"
      - "0.0.0.0:443:443/udp"
    volumes:
      - "./Caddyfile:/etc/caddy/Caddyfile"
      - "./data:/data"
      - "./config:/config"
  cgit:
    ...

Обрати внимание, cgit наружу высовывать не надо (как ты сделал).

Конфиг для caddy (Caddyfile):

jefail.ru {
  reverse_proxy cgit:8080
}

Это пример для гипотетического домена jefail.ru предполагая, что cgit в своём контейнере слушает на порту 8080. При запросах на jefail.ru caddy будет перенаправлять запрос на http://cgit:8080.

Caddy хорош тем, что автоматом выпустит тебе сертификат и у тебя будет работать https. Можешь вместо него настроить nginx, но там будет посложней, хотя суть та же.

vbr ★★★★
()