From e24ba430a54c892d972841f48901235475688b0b Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Fri, 5 Jan 2024 11:42:17 +0100 Subject: feat #20: add server forward headers config closes #20 --- README.md | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) (limited to 'README.md') diff --git a/README.md b/README.md index c0e6b84..a8a4f2e 100644 --- a/README.md +++ b/README.md @@ -154,11 +154,46 @@ Wenn gewünscht, Änderungen in der `.env` vornehmen. docker compose up -d ``` -### Einfaches Beispiel für ein Docker-Compose-File +### Einfaches Beispiel für ein eigenes Docker-Compose-File Die Datei [`docs/docker-compose.yml`](docs/docker-compose.yml) zeigt eine einfache Konfiguration für REST-Requests basierend auf Docker-Compose mit der gestartet werden kann. +### Betrieb hinter einem Reverse-Proxy + +Die Anwendung verarbeitet `X-Forwarded`-HTTP-Header und kann daher auch hinter einem Reverse-Proxy betrieben werden. + +Dabei werden, je nachdem welche Header durch den Reverse-Proxy gesendet werden auch Protokoll, Host oder auch Path-Prefix +automatisch erkannt und verwendet werden. Dadurch ist z.B. eine abweichende Angabe des Pfads problemlos möglich. + +#### Beispiel *Traefik* (mit Docker-Labels): + +``` +... + deploy: + labels: + - "traefik.http.routers.portainer.rule=PathPrefix(`/etl-processor`)" + - "traefik.http.routers.portainer.middlewares=portainer-strip" + - "traefik.http.middlewares.portainer-strip.stripprefix.prefixes=/etl-processor" +... +``` + +#### Beispiel *nginx* + +``` +... + location /etl-processor { + set $upstream http:///; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-Scheme $scheme; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header X-Real-IP $remote_addr; + proxy_pass $upstream; + } +... +``` + ## Entwicklungssetup Zum Starten einer lokalen Entwicklungs- und Testumgebung kann die beiliegende Datei `dev-compose.yml` verwendet werden. -- cgit v1.2.3