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; } } }