Перенаправление после аутентификации на http, когда это должно быть https - PullRequest
0 голосов
/ 17 ноября 2018

Отправной точкой здесь является стандартный шаблон от Microsoft для ASP.NET Core: я использовал Visual Studio => Новый проект => .NET Core => Веб-приложение ASP.NET Core

Затем я установил флажок для поддержки HTTPS и настроил Work or School account аутентификацию для существующего экземпляра Azure AD.

Тогда независимо от того, использую ли я http или https для его локального запуска, URL-адрес перенаправления во время аутентификации всегда указывает на https - что именно так и должно быть.

Когда я внедряю это в обычную службу приложений Azure, он ведет себя так же, и это нормально.

НО: Если я создам образ докера из этого и разверну его на Azure AppService с поддержкой контейнеров (в данном случае на основе linux), то перенаправление аутентификации всегда идет против http, что на самом деле не то, что я хочу.

Для справки, это Dockerfile, используемый для создания образа:

FROM microsoft/dotnet:2.1-sdk AS build

WORKDIR /src
COPY HttpsTest/HttpsTest.csproj HttpsTest/

RUN dotnet restore HttpsTest/HttpsTest.csproj
COPY . .
WORKDIR /src/HttpsTest
RUN dotnet build HttpsTest.csproj -c Release -o /app

FROM build AS publish
RUN dotnet publish HttpsTest.csproj -c Release -o /app

FROM microsoft/dotnet:2.1-aspnetcore-runtime
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "HttpsTest.dll"]

Обратите внимание, что я не зацикливаюсь на пользовательских сертификатах внутри контейнера, так как я использую службу приложений Azure для разрыва соединения SSL (и в процессе работы несу свой собственный сертификат).

Я почти уверен, что здесь есть что-то, что я пропускаю.

1 Ответ

0 голосов
/ 18 ноября 2018

Взгляните на Настройка ASP.NET Core для работы с прокси-серверами и балансировщиками нагрузки . Обсуждаемая конфигурация может помочь вам решить проблему перенаправления HTTP .

Надеюсь, это поможет!

...