Перейти к содержимому
docs.
WORKSPACE

Документации проектов

Открыть каталог проектов
Localzet ServerАсинхронный PHP-серверTriangleФреймворк и компонентыMIX IDИдентификация и интеграцииHack APIПубличные API хакатонаACNПроект и компонентыUserlay / UserNetПроект и компонентыAxiomПроект и компонентыМесседжинг через почтуПроект и компонентыLWT / JWT / JOSEПроект и компонентыФинансовая аналитика KimaiПроект и компонентыМультипарадигмальная БДПроект и компонентыZorin PlatformПроект и компонентыZorin TrustПроект и компонентыFloraScope / VegwatchПроект и компонентыaegis-qДокументация проектаaevumdbДокументация проектаauditДокументация проектаauto-invest-managerАвтотрейдерcaine-companionДокументация проектаcertbot-cloudflareДокументация проектаClusterLocalzet Server / ClustercmdveilДокументация проектаConsolePHP CLICronБиблиотеки Localzet Serverdata-connectorДокументация проектаdevice-controlDevice Controlenn-projectДокументация проектаEventsБиблиотеки Localzet ServerflowsintДокументация проектаforgeДокументация проектаHttpClientБиблиотеки Localzet ServerinterpreterСобственный языкinvariaДокументация проектаkeynotesДокументация проектаknotrouteKnotroute✓laravel-personal-analyticsДокументация проектаlocalzet-osДокументация проектаmeridianДокументация проектаMQTTБиблиотеки Localzet Servernano-kernelСобственная ОСNoterДокументация проектаpersonal-analyticsДокументация проектаProxyБиблиотеки Localzet ServerPSRБиблиотеки Localzet ServerPSR-7Библиотеки Localzet Serverrschs-monitorДокументация проектаsemsealДокументация проектаshardsealДокументация проектаSocketIOБиблиотеки Localzet ServerSOCKS5Библиотеки Localzet Serverstandalone-analyticsДокументация проектаstatic-php-cliДокументация проектаStorageБиблиотеки Localzet ServersutureДокументация проектаtempoweaveДокументация проектаttsСинтез речиTunnelБиблиотеки Localzet Serverui-kitUI KitvesperДокументация проектаWebAnalyzerWebAnalyzerzorin-access-brokerДокументация проектаzorin-authority-brokerДокументация проектаzorin-authority-sdk-phpДокументация проектаzorin-authority-sdk-pythonДокументация проектаzorin-authority-sdk-tsДокументация проектаzorin-client-intelДокументация проектаzorin-device-core-aospДокументация проектаzorin-host-agentДокументация проектаzorin-native-labДокументация проектаzorin-nodeДокументация проектаzorin-opsДокументация проектаdonstu-python-sdkДокументация проектаfloortraceFloortraceserver-rsLocalzet Server / Cluster
Каталог

Traefik + KnotRoute

KnotRoute не требует заменить существующий публичный ingress. Один application container может одновременно быть доступен через обычный HTTPS и через .knot.

Internet │Traefik ───────► app:8080 ▲ │ private Docker network │KnotRoute sidecar ─┘ ▲ │ overlay.knot clients
SVG ↗
services:
app:
image: example/app:latest
networks:
- proxy
- knot
labels:
- "traefik.enable=true"
- "traefik.http.routers.app.rule=Host(`app.example.net`)"
knotroute:
image: ghcr.io/localzet/knotroute-sidecar:latest
restart: unless-stopped
networks:
- knot
volumes:
- knotroute-data:/data
environment:
KNOTROUTE_NETWORK_ID: "kn_..."
KNOTROUTE_BEACONS: "https://beacon-a.example.net,https://beacon-b.example.net"
KNOTROUTE_SERVICE_NAME: "web"
KNOTROUTE_SERVICE_TARGET: "app:8080"
networks:
proxy:
external: true
knot:
internal: true
volumes:
knotroute-data:

Sidecar не нужно подключать к public proxy network, если ему требуется только доступ к app.

Некоторые frameworks генерируют абсолютные URLs из configured external hostname. Если пользователи должны работать и через .knot, проверьте:

  • trusted proxy settings;
  • canonical URL redirects;
  • cookie domains;
  • OAuth callback URLs;
  • CSP origins;
  • WebSocket URLs.

Иначе приложение само может перенаправить .knot пользователя на public domain.

Public path использует обычный WebPKI/TLS на Traefik. .knot path использует локальный client CA для browser compatibility и отдельную KnotRoute service authentication внутри overlay.

Исходник