Asp.Net Core 2.2 Docker HTTPS问题
创始人
2024-09-14 16:00:07
0

要解决Asp.Net Core 2.2 Docker HTTPS问题,可以按照以下步骤操作:

  1. 首先,需要在Docker中创建一个自签名证书。可以使用OpenSSL工具生成证书。在终端中执行以下命令:
openssl req -x509 -newkey rsa:4096 -sha256 -nodes -keyout key.pem -out cert.pem -subj "/CN=localhost" -days 3650

这将生成一个名为cert.pem的证书文件和一个名为key.pem的私钥文件。

  1. 在Asp.Net Core项目的根目录中创建一个名为Dockerfile的文件,并将以下代码添加到文件中:
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build-env
WORKDIR /app

# 复制.csproj文件并还原NuGet包
COPY *.csproj ./
RUN dotnet restore

# 复制所有源代码并生成发布版本
COPY . ./
RUN dotnet publish -c Release -o out

# 构建最终镜像
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2
WORKDIR /app
COPY --from=build-env /app/out .

# 添加证书文件和私钥文件
COPY cert.pem .
COPY key.pem .

# 设置环境变量
ENV ASPNETCORE_URLS=https://+:443;HTTP_PORT=80
ENV ASPNETCORE_Kestrel__Certificates__Default__Path=./cert.pem
ENV ASPNETCORE_Kestrel__Certificates__Default__Password=

# 暴露端口
EXPOSE 80
EXPOSE 443

# 启动应用
ENTRYPOINT ["dotnet", "YourProjectName.dll"]

请将上述代码中的"YourProjectName.dll"替换为您的实际项目名称。

  1. 使用以下命令构建并运行Docker容器:
docker build -t yourimagename .
docker run -p 80:80 -p 443:443 yourimagename

注意,您可能需要使用sudo或在Windows上使用管理员权限来执行以上命令。

现在,您的Asp.Net Core应用程序将在Docker中通过HTTPS进行运行。可以通过https://localhost访问应用程序。

相关内容

热门资讯

最初有辅助"奇迹掌趣... 最初有辅助"奇迹掌趣辅助"开挂(透视)辅助下载(黑科技教程有挂规律);无需打开直接搜索加(薇:136...
透视辅助!pokemmo手机版... 大家好,今天小编来为大家解答pokemmo手机版透视脚本这个问题咨询软件客服可以免费测试直接加微信(...
课程辅助"禅游指尖四... 课程辅助"禅游指尖四川辅助脚本"开挂(平台)辅助工具(有挂教程) >>您好:软件加薇13670430...
起初有辅助"四川游戏... 起初有辅助"四川游戏家园辅助软件合法吗"详细开挂辅助插件有挂讲解(规律教程);无需打开直接搜索薇:1...
最初有开挂"中至赣牌... 最初有开挂"中至赣牌圈挂件多少钱一个"开挂(透视)辅助平台(微扑克教程揭秘有挂) 了解更多开挂安装加...
总结开挂"神兽h5平... 较多好评“微乐万能挂官网”开挂(透视)辅助教程 了解更多开挂安装加(136704302)微信号是一款...
透视安卓版!三哥玩辅助器软件,... 透视安卓版!三哥玩辅助器软件,微信小程序微乐安徽辅助(透视)开挂辅助神器详细教程!微信小程序微乐安徽...
往昔有开挂"微玩盒子... 往昔有开挂"微玩盒子网页游戏辅助"详细开挂辅助工具有挂秘笈(玩家教你) 【无需打开直接搜索加薇136...
从来有辅助"九哥玩挂... 较多好评“微乐万能挂官网”开挂(透视)辅助教程 了解更多开挂安装加(136704302)微信号是一款...
窍要开挂"菠萝德普辅... 菠萝德普辅助器免费版在哪里 无需打开直接搜索微信:136704302本司针对手游进行,选择我们的四大...