From 4a69ef8cd1560cced7378166c6beb16fe0446676 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9=20=D0=A1=D0=B0?= =?UTF-8?q?=D0=B1=D0=B8=D0=BB=D0=B8=D0=BD?= Date: Wed, 8 Jul 2026 17:25:13 +0300 Subject: [PATCH] Update traefik routing for dev and ignore TLS private keys Co-authored-by: Cursor --- .gitignore | 5 + docker/traefik/dynamic_conf.yml | 186 ++++++++++++++++++++++++++++++++ 2 files changed, 191 insertions(+) diff --git a/.gitignore b/.gitignore index 373597d..b07d0d2 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,8 @@ rebar3.crashdump docker/.env /Mnesia.*/ /doc/ + +# Traefik TLS private keys (generated locally for dev/staging). +# Никогда не коммитим приватный ключ в репозиторий. +docker/traefik/certs/*.key +docker/traefik/certs/*.pem diff --git a/docker/traefik/dynamic_conf.yml b/docker/traefik/dynamic_conf.yml index e649074..e3a1633 100644 --- a/docker/traefik/dynamic_conf.yml +++ b/docker/traefik/dynamic_conf.yml @@ -53,6 +53,39 @@ http: entryPoints: ["web"] middlewares: ["redirect-to-https", "strip-api-prefix", "api-ratelimit", "waf"] service: "api" + api-dev: + rule: "Host(`api.dev.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https", "strip-api-prefix", "api-ratelimit", "waf"] + service: "api" + api-dev-secure: + rule: "Host(`api.dev.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + middlewares: ["strip-api-prefix", "api-ratelimit", "waf"] + service: "api" + api-ift: + rule: "Host(`api.ift.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https", "strip-api-prefix", "api-ratelimit", "waf"] + service: "api" + api-ift-secure: + rule: "Host(`api.ift.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + middlewares: ["strip-api-prefix", "api-ratelimit", "waf"] + service: "api" + api-stage: + rule: "Host(`api.stage.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https", "strip-api-prefix", "api-ratelimit", "waf"] + service: "api" + api-stage-secure: + rule: "Host(`api.stage.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + middlewares: ["strip-api-prefix", "api-ratelimit", "waf"] + service: "api" api-secure: rule: "Host(`api.eventhub.local`)" entryPoints: ["websecure"] @@ -66,6 +99,36 @@ http: entryPoints: ["web"] middlewares: ["redirect-to-https"] service: "ws" + ws-dev: + rule: "Host(`ws.dev.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https"] + service: "ws" + ws-dev-secure: + rule: "Host(`ws.dev.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + service: "ws" + ws-ift: + rule: "Host(`ws.ift.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https"] + service: "ws" + ws-ift-secure: + rule: "Host(`ws.ift.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + service: "ws" + ws-stage: + rule: "Host(`ws.stage.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https"] + service: "ws" + ws-stage-secure: + rule: "Host(`ws.stage.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + service: "ws" ws-secure: rule: "Host(`ws.eventhub.local`)" entryPoints: ["websecure"] @@ -78,6 +141,39 @@ http: entryPoints: ["web"] middlewares: ["redirect-to-https", "strip-api-prefix", "admin-ratelimit", "waf"] service: "admin-api" + admin-api-dev: + rule: "Host(`admin-api.dev.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https", "strip-api-prefix", "admin-ratelimit", "waf"] + service: "admin-api" + admin-api-dev-secure: + rule: "Host(`admin-api.dev.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + middlewares: ["strip-api-prefix", "admin-ratelimit", "waf"] + service: "admin-api" + admin-api-ift: + rule: "Host(`admin-api.ift.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https", "strip-api-prefix", "admin-ratelimit", "waf"] + service: "admin-api" + admin-api-ift-secure: + rule: "Host(`admin-api.ift.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + middlewares: ["strip-api-prefix", "admin-ratelimit", "waf"] + service: "admin-api" + admin-api-stage: + rule: "Host(`admin-api.stage.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https", "strip-api-prefix", "admin-ratelimit", "waf"] + service: "admin-api" + admin-api-stage-secure: + rule: "Host(`admin-api.stage.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + middlewares: ["strip-api-prefix", "admin-ratelimit", "waf"] + service: "admin-api" admin-api-secure: rule: "Host(`admin-api.eventhub.local`)" entryPoints: ["websecure"] @@ -91,6 +187,36 @@ http: entryPoints: ["web"] middlewares: ["redirect-to-https"] service: "admin-ws" + admin-ws-dev: + rule: "Host(`admin-ws.dev.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https"] + service: "admin-ws" + admin-ws-dev-secure: + rule: "Host(`admin-ws.dev.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + service: "admin-ws" + admin-ws-ift: + rule: "Host(`admin-ws.ift.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https"] + service: "admin-ws" + admin-ws-ift-secure: + rule: "Host(`admin-ws.ift.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + service: "admin-ws" + admin-ws-stage: + rule: "Host(`admin-ws.stage.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https"] + service: "admin-ws" + admin-ws-stage-secure: + rule: "Host(`admin-ws.stage.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + service: "admin-ws" admin-ws-secure: rule: "Host(`admin-ws.eventhub.local`)" entryPoints: ["websecure"] @@ -103,6 +229,36 @@ http: entryPoints: ["web"] middlewares: ["redirect-to-https"] service: "admin-ui-service" + admin-ui-dev: + rule: "Host(`admin-ui.dev.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https"] + service: "admin-ui-service" + admin-ui-dev-secure: + rule: "Host(`admin-ui.dev.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + service: "admin-ui-service" + admin-ui-ift: + rule: "Host(`admin-ui.ift.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https"] + service: "admin-ui-service" + admin-ui-ift-secure: + rule: "Host(`admin-ui.ift.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + service: "admin-ui-service" + admin-ui-stage: + rule: "Host(`admin-ui.stage.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https"] + service: "admin-ui-service" + admin-ui-stage-secure: + rule: "Host(`admin-ui.stage.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + service: "admin-ui-service" admin-ui-secure: rule: "Host(`admin-ui.eventhub.local`)" entryPoints: ["websecure"] @@ -115,6 +271,36 @@ http: entryPoints: ["web"] middlewares: ["redirect-to-https"] service: "client-ui-service" + client-ui-dev: + rule: "Host(`ui.dev.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https"] + service: "client-ui-service" + client-ui-dev-secure: + rule: "Host(`ui.dev.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + service: "client-ui-service" + client-ui-ift: + rule: "Host(`ui.ift.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https"] + service: "client-ui-service" + client-ui-ift-secure: + rule: "Host(`ui.ift.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + service: "client-ui-service" + client-ui-stage: + rule: "Host(`ui.stage.eventhub.local`)" + entryPoints: ["web"] + middlewares: ["redirect-to-https"] + service: "client-ui-service" + client-ui-stage-secure: + rule: "Host(`ui.stage.eventhub.local`)" + entryPoints: ["websecure"] + tls: true + service: "client-ui-service" client-ui-secure: rule: "Host(`ui.eventhub.local`)" entryPoints: ["websecure"]