From 1ef5edf9391423db51e889fb418a15bfc724e621 Mon Sep 17 00:00:00 2001 From: masoodafar-web Date: Sun, 15 Mar 2026 00:19:04 +0330 Subject: [PATCH] fix: add blazor-environment header to nginx for staging config BackOffice WASM app defaulted to Production environment because nginx didn't set the blazor-environment response header. This caused the app to load appsettings.Production.json (GwUrl=https://cms.kbs1.ir) instead of appsettings.Staging.json (GwUrl=https://cms.se.kbs1.ir), resulting in 401 gRPC errors on the login page. - Add docker-entrypoint.sh that generates nginx config with blazor-environment header - Default BLAZOR_ENVIRONMENT=Staging (configurable via K8s env var) - This ensures the WASM app loads the correct staging configuration --- src/BackOffice/Dockerfile | 16 +++++++--------- src/BackOffice/docker-entrypoint.sh | 18 ++++++++++++++++++ 2 files changed, 25 insertions(+), 9 deletions(-) create mode 100644 src/BackOffice/docker-entrypoint.sh diff --git a/src/BackOffice/Dockerfile b/src/BackOffice/Dockerfile index 5b08d14..a89ba28 100644 --- a/src/BackOffice/Dockerfile +++ b/src/BackOffice/Dockerfile @@ -25,14 +25,12 @@ RUN rm -rf /usr/share/nginx/html/* # Copy published wwwroot (Blazor WASM output) COPY --from=build /app/publish/wwwroot . -# Configure nginx for SPA routing -RUN echo 'server { \ - listen 80; \ - server_name _; \ - location / { \ - root /usr/share/nginx/html; \ - try_files $uri $uri/ /index.html; \ - } \ -}' > /etc/nginx/conf.d/default.conf +# Copy entrypoint script that sets blazor-environment header +COPY ["BackOffice/docker-entrypoint.sh", "/docker-entrypoint.sh"] +RUN chmod +x /docker-entrypoint.sh + +# Default Blazor environment (override via K8s env var BLAZOR_ENVIRONMENT) +ENV BLAZOR_ENVIRONMENT=Staging EXPOSE 80 +CMD ["/docker-entrypoint.sh"] diff --git a/src/BackOffice/docker-entrypoint.sh b/src/BackOffice/docker-entrypoint.sh new file mode 100644 index 0000000..b0ceecd --- /dev/null +++ b/src/BackOffice/docker-entrypoint.sh @@ -0,0 +1,18 @@ +#!/bin/sh +# Generate nginx config with blazor-environment header +# BLAZOR_ENVIRONMENT defaults to "Staging" if not set +BLAZOR_ENV="${BLAZOR_ENVIRONMENT:-Staging}" + +cat > /etc/nginx/conf.d/default.conf <