Docker+Net8运行https

1
环境:win11,docker 4.28.0 ,Net8 。使用windows版docker

  

 跑老外的run-aspnetcore-microservices 这个分布式项目时,最开始直接运行会遇到这个问题。中间也试了几种方法,有ok也有不行的,有些较为麻烦。

Net8开始 Docker 端口 默认端口8080了

解决方法

1
2
3
1 生成pfx文件
dotnet dev-certs https -ep %USERPROFILE%\.aspnet\https\aspnetapp.pfx -p 你的密码   
dotnet dev-certs https --trust

  

1
2
3
4
5
6
7
8
2 docker-compose.yml 中添加
在以下位置添加
  environment:
      - ASPNETCORE_Kestrel__Certificates__Default__Password=1236 #for windows 这里密码要写上,这里我是踏入坑了
      - ASPNETCORE_Kestrel__Certificates__Default__Path=/https/aspnetapp.pfx #for windows   这里为哦docker里地址
 
 volumes:
   - ~/.aspnet/https:/https:ro  #for windows   ~/.aspnet/https 为外部实际地址

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
我的DockerCompose文件参考
 
 
 environment:
     - ASPNETCORE_ENVIRONMENT=Development
     - ASPNETCORE_HTTP_PORTS=8080
     - ASPNETCORE_HTTPS_PORTS=8081
     - ApiSettings__GatewayAddress=http://yarpapigateway:8080
     - ASPNETCORE_Kestrel__Certificates__Default__Password=1236
     - ASPNETCORE_Kestrel__Certificates__Default__Path=/https/aspnetapp.pfx
 
   depends_on:
     - yarpapigateway
   ports:
     - "6005:8080"
     - "6065:8081"
   volumes:
     - ${APPDATA}/Microsoft/UserSecrets:/home/app/.microsoft/usersecrets:ro
    # - ${APPDATA}/ASP.NET/Https:/home/app/.aspnet/https:ro
     - ~/.aspnet/https:/https:ro

  

 

1
2
3
如果不想 从http强制跳转到 https 注释代码中下面这句
 
app.UseHttpsRedirection();

 效果图

 

posted @   孤海飞雁  阅读(279)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2023-04-13 Element Plus Tree 树 回显
点击右上角即可分享
微信分享提示