diff --git a/java/Dockerfile b/java/Dockerfile
index 5ad91eb..ec14ffd 100644
--- a/java/Dockerfile
+++ b/java/Dockerfile
@@ -5,4 +5,4 @@ COPY . .
RUN mvn clean package -DskipTests
-ENTRYPOINT ["java", "-jar", "target/spring-boot-0.0.1-SNAPSHOT.jar"]
\ No newline at end of file
+ENTRYPOINT ["java","-Dserver.port=80", "-jar", "target/spring-boot-0.0.1-SNAPSHOT.jar"]
diff --git a/nginx/html/index.html b/nginx/html/index.html
index ae88ac5..747a347 100644
--- a/nginx/html/index.html
+++ b/nginx/html/index.html
@@ -1 +1,13 @@
hello from nginx!
+
+
+
+
diff --git a/nginx/nginx.conf b/nginx/nginx.conf
index b2a202a..373671f 100644
--- a/nginx/nginx.conf
+++ b/nginx/nginx.conf
@@ -1,4 +1,4 @@
-events { }
+events {}
http {
upstream dotnet_app {
@@ -11,32 +11,42 @@ http {
server java-2;
}
+ # Map the header to the chosen upstream
+ map $http_x_app_type $app_upstream {
+ dotnet dotnet_app;
+ java java_app;
+ default "";
+ }
+
server {
listen 80;
root /usr/share/nginx/html;
index index.html;
+ #
+ # 1) If header is present -> route here
+ #
+ location @proxy_handler {
+ proxy_pass http://$app_upstream;
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ }
+
+ #
+ # 2) Default location for all requests
+ #
location / {
- try_files $uri $uri/ =404;
- }
+ # If upstream selected -> jump to proxy handler
+ error_page 418 = @proxy_handler;
- location /dotnet/ {
- proxy_pass http://dotnet_app;
- proxy_http_version 1.1;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Forwarded-Proto $scheme;
- }
+ if ($app_upstream != "") {
+ return 418;
+ }
- location /java/ {
- proxy_pass http://java_app;
- proxy_http_version 1.1;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Forwarded-Proto $scheme;
+ # Otherwise serve index.html or static files
+ try_files $uri $uri/ /index.html;
}
}
}