[Megoldva] Docker-compose - Traefk - postresql - tobb domain azonos cimen
Sziasztok,
Kis segitseget szeretnek kerni az alabbi setuppal kapcsolatban.
- Adott a termek. Java alkalmazas <-> Postrgresql kapcsolattal. docker-compose-ban 2 kontener. Semmi extra.
- Adott a teszt gep. Ezen van melle egy Traefik v2.8 egy masik compose-ban.
- A virtualis "proxy" networkre kapcsolodik az app.
A teszt gepen parhuzamosan fut a dev, qa, staging kornyezet. Ebben az esetben mar 4 compose fut. 3 termek es 1 traefik.
A termek kontenereken van treafik label amiken keresztul ra tudnak nezi a fejlesztok a webes feluletre. Ez a konfig
traefik.enable: 'true' traefik.http.routers.termek{{termek_env}}.rule: Host(`{{termek_host_name}}`) traefik.http.routers.termek-{{termek_env}}.entrypoints: websecure traefik.http.routers.termek-{{termek_env}}.tls: 'true' traefik.http.routers.termek-{{termek_env}}.service: termek-{{termek_env}} traefik.http.services.termek-{{termek_env}}.loadbalancer.server.port: "80" traefik.docker.network: 'proxy'
Viszont most kitalaltak a fejleszoink hogy szeretnenek kivulrol is az adatbazisokhoz kapcsolodni.
A terv az hogy van 3 kulonobozo domain a tesztgepre iranyitva tehat
termek_host_name_dev
termek_host_name_qa
termek_host_name_staging
es attol fuggoen hogy melyikre kapcsolodnanak az 5432 porton, azt a postgresql-t erjek el
MEgprobaltam hasonlo modon kivitelezni mint ahogyan azt a https kapcsolattal tettem.
Uj Entrypoint a Traefik konfigban: postgres-db: address: :5432 Hozzaadtam az uj portot a Traefik compose-hoz image: traefik:v2.8 ports: - "80:80" - "443:443" - "5432:5432" Probaltam az albbi labelekkel traefik.enable: 'true' traefik.docker.network: "proxy" traefik.tcp.routers.dev-db.rule: HostSNI(`myhost-name`) traefik.tcp.routers.dev-db.entrypoints: postgres-db traefik.tcp.routers.dev-db.service: dev-db traefik.tcp.routers.dev-db.tls: "true" traefik.tcp.services.dev-db.loadbalancer.server.port: "5432" Namost ez igy nem mukodik. Nem erem el a postgres-t csak ha kiveszem a tls-t es a HostSNI(`*`) ra atallitom. Igy viszont csak egy db-t erek el mert nem tudok routolni domain nev alapjan. Azt nem szeretnem hogy a dev 5432 a qa 5433 a staging pedig 5434 porton uljon. Azt probalom elerni hogy domain alapjan tudjak routolni de valahogy nagyon nem akarja. A postgresql-ben beallitottam az ssl tanusitvanyt es hasznalja is szepen. psql (14.8 (Ubuntu 14.8-0ubuntu0.22.04.1), server 14.7 (Debian 14.7-1.pgdg110+1)) SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off) Type "help" for help. Probaltam mar direktben a Traefik-nel is probelkoni de nem sok sikerrel https://community.traefik.io/t/forward-http-s-to-postgresql-container-in-docker-swarm-compose-possible/18938/11 Otlet esetleg
Update:
Traefik v3.0.0-beta2 kepes mar ilyenre.
sima psql cli is tartalmazza az SNI-t szoval siman mukodik minden. CSak egy napba tel mire ratlaltam az image-ra :D
- Tovább ([Megoldva] Docker-compose - Traefk - postresql - tobb domain azonos cimen)