несоответствие протокола http(s) между статическим веб-объектом BLOB и веб-API AKS

#kubernetes #asp.net-web-api #azure-blob-storage #azure-aks

Вопрос:

Дано простое решение, состоящее из 1(статическое веб-приложение) 2(веб-API). 1 извлекает данные из 2 с помощью функции javascript fetch().Локально все работает.

Затем я развертываю решение в Azure. 1 развертывается как статическое веб-приложение в большом двоичном объекте, которому по умолчанию назначается конечная точка https. 2 развертывается в виде контейнера в кластере AKS со следующими dockerfile и yaml:

 FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build
WORKDIR /src
COPY ["AnApi/AnApi.csproj", "AnApi/"]
RUN dotnet restore "AnApi/AnApi.csproj"
COPY . .
WORKDIR "/src/AnApi"
RUN dotnet build "AnApi.csproj" -c Release -o /app/build

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

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "AnApi.dll"]
 
 apiVersion: apps/v1
kind: Deployment
metadata:
  name: sa-be
spec:
  selector:
    matchLabels:
      name: sa-be
  template:
    metadata:
      labels:
        name: sa-be
    spec:
      nodeSelector:
        kubernetes.io/os: linux
      containers:
      - name: sa-be
        image: francotiveron/anapi:latest
        resources:
          limits:
            memory: "64Mi"
            cpu: "250m"
---
apiVersion: v1
kind: Service
metadata:
  name: sa-be-s
spec:
  type: LoadBalancer
  selector:
    name: sa-be
  ports:
  - port: 8080
    targetPort: 80

 

Проблема: браузер (в данном случае Chrome) жалуется, потому что сайт, обслуживаемый по протоколу https, пытается получить данные из http API («Смешанный контент… этот контент также должен обслуживаться по протоколу HTTPS»).

Я временно устранил проблему, освободив ограничение (для этого можно настроить Chrome), однако мои вопросы:

  1. Можно ли установить конечную точку для статического веб-сайта Blob-объектов в качестве http вместо https? Если да, то как?
  2. Какова правильная процедура развертывания 2 в AKS и обеспечения его работы по протоколу https вместо http?

Комментарии:

1. Is it possible to set the endpoint for the Blob static web site as http instead of https? If yes, how? — Пожалуйста, посмотрите docs.microsoft.com/en-gb/azure/storage/common/.

2. @GauravMantri Я пытался. К сожалению, независимо от этой настройки предоставленная конечная точка (на странице «Статический веб-сайт» учетной записи хранения) остается на https и не может быть изменена (редактирование полей отключено)