栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

带https证书的blazorserver的docker部署

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

带https证书的blazorserver的docker部署

准备工作
$ dotnet --version
5.0.400

IDE: Visual Studio for mac 2019

项目实施
  1. 新建项目:App->Blazor Server App->.Net 5.0+individual Authentication+Configure for Https->Create a project directory within the solution direction

  2. 添加docker支持:选择项目->add docker support,会自动添加docker部署需要的文件

    ├── TestBlazorHTTPS
    │   ├── App.razor
    │   ├── Areas
    │   ├── Data
    │   ├── Dockerfile                   //add
    │   ├── Pages
    │   ├── Program.cs
    │   ├── Properties
    │   ├── Shared
    │   ├── Startup.cs
    │   ├── TestBlazorHTTPS.csproj
    │   ├── _imports.razor
    │   ├── app.db
    │   ├── appsettings.Development.json
    │   ├── appsettings.json
    ├── TestBlazorHTTPS.sln
    ├── docker-compose.dcproj             //add
    ├── docker-compose.override.yml       //add
    └── docker-compose.yml                //add
    

    查看docker-compose.override.yml内容

    version: '3.4'
    
    services:
    testblazorhttps:
        environment:
        - ASPNETCORE_ENVIRonMENT=Development
        - ASPNETCORE_URLS=https://+:443;http://+:80
        ports:
        - "80"
        - "443"
        volumes:
        - ~/.aspnet/https:/root/.aspnet/https:ro
        - ~/.microsoft/usersecrets:/root/.microsoft/usersecrets:ro
    
  3. 准备证书(mac版本):

    dotnet dev-certs https -ep ${HOME}/.aspnet/https/TestBlazorHTTPS.pfx -p 123456
    dotnet dev-certs https --trust
    

    将在${HOME}/.aspnet/https/目录下生成证书文件TestWithoutIdentity.pfx,密码为123456

    TestBlazorHTTPS.pfx的命名必须与项目名称相同

  4. 在docker-compose.override.yml中添加证书信息:

      - ASPNETCORE_Kestrel__Certificates__Default__Password=123456
      - ASPNETCORE_Kestrel__Certificates__Default__Path=/root/.aspnet/https/TestBlazorHTTPS.pfx
    

    即如下:

    version: '3.4'
    
    services:
    testblazorhttps:
        environment:
        - ASPNETCORE_ENVIRonMENT=Development
        - ASPNETCORE_URLS=https://+:443;http://+:80
        - ASPNETCORE_Kestrel__Certificates__Default__Password=123456
        - ASPNETCORE_Kestrel__Certificates__Default__Path=/root/.aspnet/https/TestBlazorHTTPS.pfx
        ports:
        - "80"
        - "443"
        volumes:
        - ~/.aspnet/https:/root/.aspnet/https:ro
        - ~/.microsoft/usersecrets:/root/.microsoft/usersecrets:ro
    
  5. 运行docker-compose up,查看docker ps

    ConTAINER ID   IMAGE             COMMAND                  CREATED          STATUS          PORTS                                           NAMES
    8a4967efe61d   testblazorhttps   "dotnet TestBlazorHT…"   35 seconds ago   Up 30 seconds   0.0.0.0:53283->80/tcp, 0.0.0.0:53282->443/tcp   testblazorhttps_testblazorhttps_1
    
  6. 浏览器打开 https://localhost:53282

参考
  1. https://docs.microsoft.com/en-us/aspnet/core/security/docker-compose-https?view=aspnetcore-5.0

  2. visual studio from mac 2019 add docker support

  3. https://docs.microsoft.com/en-us/dotnet/core/additional-tools/self-signed-certificates-guide#create-a-self-signed-certificate

    • 证书的名称必须要与项目的名称相同。The certificate name, in this case aspnetapp.pfx must match the project assembly name.
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/360953.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号