nginx-demo/nginx/nginx.conf
2025-11-25 10:46:37 +01:00

52 lines
1.1 KiB
Nginx Configuration File

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 "";
}
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 / {
# 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;
}
}
}