summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md37
-rw-r--r--docs/docker-compose.yml2
-rw-r--r--src/main/resources/application.yml5
3 files changed, 40 insertions, 4 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.
diff --git a/docs/docker-compose.yml b/docs/docker-compose.yml
index 76fdec0..4d0e174 100644
--- a/docs/docker-compose.yml
+++ b/docs/docker-compose.yml
@@ -14,8 +14,6 @@ services:
SPRING_DATASOURCE_URL: jdbc:postgresql://postgres/etl
SPRING_DATASOURCE_USERNAME: etl
SPRING_DATASOURCE_PASSWORD: etl-password
- # For reverse proxy
- SERVER_FORWARD_HEADERS_STRATEGY: framework
### Database
postgres:
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 5cd47c0..dd820c8 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -4,4 +4,7 @@ spring:
consumer:
group-id: ${app.kafka.group-id}
flyway:
- locations: "classpath:db/migration/{vendor}" \ No newline at end of file
+ locations: "classpath:db/migration/{vendor}"
+
+server:
+ forward-headers-strategy: framework \ No newline at end of file