@pshevnin

Как на asp .net 7 подключить ssl для https протокола?

Всем привет, у меня есть api написанное на asp net и два файла с расширением .pem с ключем и fullchain для ssl сертификата. Как мне сделать так, чтобы мой сервис используя эти файлы запускался на https в контейнере, настроена сборка через pipeline. Мне непонятен именно момент конфигурации в коде, не смог найти и понять как это сделать
  • Вопрос задан
  • 549 просмотров
Решения вопроса 1
Mike_Ro
@Mike_Ro
Python, JS, WordPress, SEO, Bots, Adversting
Как мне сделать так, чтобы мой сервис используя эти файлы запускался на https в контейнере

Пример Dockerfile конфига (при необходимости, поправить пути и наименования):
FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

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

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

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
COPY ["cert.pem", "key.pem", "/https/"]
ENTRYPOINT ["dotnet", "project.dll"]

https://learn.microsoft.com/en-us/aspnet/core/fund...
Пример Program.cs:
var builder = WebApplication.CreateBuilder(args);

builder.WebHost.ConfigureKestrel(options =>
{
    options.ListenAnyIP(443, listenOptions =>
    {
        listenOptions.UseHttps("/https/cert.pem", "/https/key.pem");
    });
});

Ну и при использование Nginx (например) в качестве обратного прокси, то придется настроить и его. С другой стороны, если у Вас будет стоять Nginx, то не совсем понятно, для чего гонять защищенный трафик между Nginx и ASPNET, т.к:
1. Nginx универсальнее и производительнее ASPNET в данном контексте.
2. Если подлинность трафика уже подтверждена на уровне Nginx, то зачем все тоже самое повторять дальше по цепочке, в ASPNET.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы