diff --git a/dotnet/Program.cs b/dotnet/Program.cs index 1b365f9..f6b5a9d 100644 --- a/dotnet/Program.cs +++ b/dotnet/Program.cs @@ -18,6 +18,7 @@ app.MapGet("/{**ok}", async (HttpContext context) => var headers = request.Headers; var responseText = new System.Text.StringBuilder(); + responseText.AppendLine("
");
     responseText.AppendLine($"Server Name: {name}");
     responseText.AppendLine($"IP Address: {ip}");
     responseText.AppendLine($"Method: {method}");
@@ -30,6 +31,7 @@ app.MapGet("/{**ok}", async (HttpContext context) =>
     {
         responseText.AppendLine($"  {header.Key}: {header.Value}");
     }
+    responseText.AppendLine("
"); await context.Response.WriteAsync(responseText.ToString()); }); diff --git a/java/src/main/java/java_app/spring_boot/Application.java b/java/src/main/java/java_app/spring_boot/Application.java index 74af8f5..71812ab 100644 --- a/java/src/main/java/java_app/spring_boot/Application.java +++ b/java/src/main/java/java_app/spring_boot/Application.java @@ -5,7 +5,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Application { + public static void main(String[] args) { SpringApplication.run(Application.class, args); } -} \ No newline at end of file +} diff --git a/java/src/main/java/java_app/spring_boot/MirrorController.java b/java/src/main/java/java_app/spring_boot/MirrorController.java index b6e74c5..0ebc467 100644 --- a/java/src/main/java/java_app/spring_boot/MirrorController.java +++ b/java/src/main/java/java_app/spring_boot/MirrorController.java @@ -1,23 +1,27 @@ package java_app.spring_boot; -import org.springframework.web.bind.annotation.*; -import org.springframework.http.HttpHeaders; import jakarta.servlet.http.HttpServletRequest; +import org.springframework.http.HttpHeaders; +import org.springframework.web.bind.annotation.*; @RestController public class MirrorController { - private final String serverName = System.getenv().getOrDefault("NAME", "unnamed"); + private final String serverName = System.getenv().getOrDefault( + "NAME", + "unnamed" + ); @GetMapping(path = "/**") // Obsługuje dowolną ścieżkę public String mirrorRequest(HttpServletRequest request) { - String ip = request.getRemoteAddr(); String method = request.getMethod(); String scheme = request.getScheme(); String host = request.getHeader(HttpHeaders.HOST); String path = request.getRequestURI(); - String queryString = request.getQueryString() != null ? "?" + request.getQueryString() : ""; + String queryString = request.getQueryString() != null + ? "?" + request.getQueryString() + : ""; StringBuilder responseText = new StringBuilder(); @@ -30,10 +34,18 @@ public class MirrorController { responseText.append("QueryString: ").append(queryString).append("\n"); responseText.append("Headers:\n"); - request.getHeaderNames().asIterator().forEachRemaining(headerName -> { - responseText.append(" ").append(headerName).append(": ").append(request.getHeader(headerName)).append("\n"); - }); + request + .getHeaderNames() + .asIterator() + .forEachRemaining(headerName -> { + responseText + .append(" ") + .append(headerName) + .append(": ") + .append(request.getHeader(headerName)) + .append("\n"); + }); - return "
" + responseText.toString() + "
"; + return "
" + responseText.toString() + "
\n"; } -} \ No newline at end of file +} diff --git a/nginx/html/index.html b/nginx/html/index.html index 747a347..46a7a1e 100644 --- a/nginx/html/index.html +++ b/nginx/html/index.html @@ -1,13 +1 @@ -hello from nginx! - - - - +welcome to nginx diff --git a/nginx/nginx.conf b/nginx/nginx.conf index 373671f..51f1270 100644 --- a/nginx/nginx.conf +++ b/nginx/nginx.conf @@ -1,52 +1,30 @@ -events {} - +events { } http { upstream dotnet_app { server dotnet-1; server dotnet-2; } - upstream java_app { server java-1; server java-2; } - # Map the header to the chosen upstream - map $http_x_app_type $app_upstream { - dotnet dotnet_app; - java java_app; - default ""; + map $http_x_app_type $app_backend { + default dotnet_app; + "dotnet" dotnet_app; + "java" java_app; } 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; + location / { + proxy_pass http://$app_backend; + 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; - } - - # - # 2) Default location for all requests - # - location / { - # If upstream selected -> jump to proxy handler - error_page 418 = @proxy_handler; - - if ($app_upstream != "") { - return 418; - } - - # Otherwise serve index.html or static files - try_files $uri $uri/ /index.html; + proxy_set_header X-Forwarded-Proto $scheme; } } }