Веб-сборка Blazor Проверка подлинности Azure AD, размещенная в Azure, возвращает 404 после подписания

#azure #docker #azure-active-directory #dockerfile #blazor-webassembly

Вопрос:

У меня есть клиентское приложение Blazor Webassembly, которое работает от VS studio perfect, я развернул с помощью docker , после проверки подлинности оно возвращает 404, я развернул в Azure и получил ту же ошибку.

Обратный путь правильно задан в Azure AD.

Мой файл docker

 FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build
WORKDIR /source

# copy csproj and restore as distinct layers
COPY ./clientApp/. ./clientApp/

FROM build AS publish
WORKDIR /source/clientApp/
RUN dotnet publish -c release

FROM nginx AS runtime

COPY --from=publish /source/clientApp/bin/release/netstandard2.1/publish/wwwroot/. /usr/share/nginx/html/.
ADD ./clientApp/default.conf /etc/nginx/conf.d/default.conf
 

ошибка

 http://localhost:8080/authentication/login-callback#id_token= <tokenvalue>" // 404 not found nginx 1.19.10
 

что здесь может быть не так?

Ответ №1:

Эмитент связан с неправильной настройкой Nginx см. https://docs.microsoft.com/en-us/aspnet/core/blazor/host-and-deploy/webassembly?view=aspnetcore-5.0 Раздел Nginx.

Я обновляю свой конфигурационный файл Nginx, добавляя:

 ...
 location / {
            root      /usr/share/nginx/html;
            try_files $uri $uri/ /index.html =404;
        }
...
 

Nginx перенаправит трафик всякий раз, когда не сможет найти ресурс, соответствующий запросу на ‘index.html».