52 lines
1.1 KiB
Nginx Configuration File
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;
|
|
}
|
|
}
|
|
}
|