add traefik tcp route
continuous-integration/drone/push Build is passing Details

states/02
thest1tch 1 year ago
parent 638e710820
commit 88a55dba35

@ -0,0 +1,33 @@
# TCP Routes
Начинав со скромной установки домашней лабы на базе самосборного ПК на 4 диска и хостинга на нем Plex, я за 5 лет начучился поднимать с запускать различные полезные вещи для дома.
Сейчас у меня есть несколько доменов с различным сервисами. Где то год назад я понял, что надо разделать сервисы по типу. Но была проблема - поскульку сервисы находятся на 3 и более разных хостах докера, то прописывать правила в Traefik нужно было на главном. Это было как бы норм, но не совсем удобно.
Поэтому я начал изучать, как можно было бы вынести конфиги и сам Траефик на разные хосты. И решение это TCP Route.
По сути, это TCP-маршрутизатор делающий следующее: если есть запросы, адресованные домен2 или его субдоменам, то запрос передается второму экземпляру Traefik, который прослушивает адрес 192.168.100.254:443 на другом моем хосте.
![TCP Route](../../images/docker/traefik-tcp-routes.png)
Для того, чтобы реализовать это, нужно создать файл yml в папке rules с определением route TCP:
```yml title="tcp-domain2.yml"
tcp:
routers:
tcp-domain2-rtr:
entryPoints:
- "https"
rule: "HostSNIRegexp(`domain2.com`, `{subdomain:[a-z]+}.domain2.com`)"
service: tcp-domain2-svc
tls:
passthrough: true
services:
tcp-domain2-svc:
loadBalancer:
servers:
- address: "192.168.100.254:443"
```
Правда все равно есть большое НО:
!!! warning
Если основной экземпляр Traefik не работает, то и TCP Route работать тоже не будет!

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

@ -11,7 +11,9 @@ nav:
- Установка: docker.md - Установка: docker.md
- Безопасность: docker/security.md - Безопасность: docker/security.md
- В начале: - В начале:
- Traefik: docker/traefik.md - Traefik:
- docker/traefik.md
- TCP Route: docker/traefik/tcp-routes.md
- Traefik Forward Auth: docker/traefik-forward-auth.md - Traefik Forward Auth: docker/traefik-forward-auth.md
- Сервисы: - Сервисы:
- Linx Server: docker/linx-server.md - Linx Server: docker/linx-server.md
@ -141,7 +143,6 @@ nav:
- Блог: - Блог:
- Blog: blog/index.md - Blog: blog/index.md
theme: theme:
name: material name: material
theme_dir: overrides theme_dir: overrides

Loading…
Cancel
Save