summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorPaul-Christian Volkmer2024-01-05 11:42:17 +0100
committerPaul-Christian Volkmer2024-01-05 11:43:58 +0100
commite24ba430a54c892d972841f48901235475688b0b (patch)
tree3074c9a8b724e7c2a81b3655fc6d88542a37e59b /README.md
parent08914a6f8659120da60986ea33fccc3869193183 (diff)
feat #20: add server forward headers config
closes #20
Diffstat (limited to 'README.md')
-rw-r--r--README.md37
1 files changed, 36 insertions, 1 deletions
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://<beispiel:8080>/;
+ 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.