Обзор
Установка
Docker-образ

network route create

Команда создаёт сетевой маршрут в проекте. Маршрут связывает домен с сервисом (внутренний тип) или внешним URL (внешний тип), позволяя направлять HTTP-запросы по указанному пути.

dockhost network route create --name <name> --domain <domain> --type <type> [options]

Опции

Опция Описание Обязательно По умолчанию
--name Имя маршрута Да
--type Тип маршрута: internal или external Нет internal
--domain Имя домена. Домен должен существовать в проекте Да
--service Имя сервиса (для internal). Сервис должен существовать в проекте Нет
--port Порт сервиса в формате <port>/<protocol> (для internal) Нет
--upstream Внешний URL (для external) Нет
--path Путь маршрута Нет /
--rewrite Rewrite правило в формате path:target:mode (можно указывать несколько раз) Нет
-p, --project Имя проекта Нет Текущий проект

Имя маршрута должно содержать строчные латинские буквы, цифры, дефис или точку и начинаться и заканчиваться буквой или цифрой.

Типы маршрутов

Тип Обязательные опции Поведение
internal --service, --port Проксирование запросов на сервис проекта
external --upstream Проксирование запросов на внешний URL

Если домен внешний и не прошёл проверку DNS — маршрут создаётся, но активируется после верификации.

Rewrite правила

Rewrite правила позволяют перенаправлять или переписывать URL внутри маршрута. Каждое правило указывается через опцию --rewrite в формате path:target:mode.

Параметры rewrite правила:

Параметр Описание
path Regex паттерн для матчинга URI (относительный путь от route.path)
target Целевой путь (поддерживает capture groups: $1, $2, и т.д.)
mode Режим: redirect (внешний редирект 302) или rewrite (внутренний)

Режимы работы:

  • redirect — внешний редирект (HTTP 302). URL в браузере меняется.
  • rewrite — внутренний rewrite. URL в браузере НЕ меняется, запрос проксируется с измененным URI.

Можно указать несколько rewrite правил, добавив опцию --rewrite несколько раз.

Примеры

Создание внутреннего маршрута:

> dockhost network route create --name web-route --domain example --service web --port 80/TCP

Create network route web-route...
- Created

Создание внешнего маршрута:

dockhost network route create --name ext-route --domain example --type external --upstream https://backend.example.com

Создание маршрута с путём:

dockhost network route create --name api-route --domain example --service api --port 8080/TCP --path /api

Создание маршрута с rewrite правилом:

dockhost network route create --name web-route --domain example --service web --port 80/TCP --rewrite /old:/new:redirect

Создание маршрута с несколькими rewrite правилами:

dockhost network route create --name api-route --domain example --service api --port 8080/TCP --path /api --rewrite /v1(/.*)?:/v2$1:redirect --rewrite /legacy:/new:rewrite
Назад
network port delete
Далее
network route list

Мы используем файлы cookies

Продолжив работу с сайтом, вы соглашаетесь с   политикой использования файлов Cookies