VS-構建容器化應用DockerFile && 啟用 SSL 的 ASP.NET Core 應用
阿新 • • 發佈:2022-04-11
參考
VS-構建容器化應用DockerFile && 啟用 SSL 的 ASP.NET Core 應用
SSL證書
docker 對映證書命令
docker run --rm -it -p 8000:80 -p 8001:443 -e ASPNETCORE_URLS="https://+;http://+" -e ASPNETCORE_HTTPS_PORT=8001 -e ASPNETCORE_Kestrel__Certificates__Default__Password="crypticpassword" -e ASPNETCORE_Kestrel__Certificates__Default__Path=/https/DockerDemo.pfx -v /mnt/c/Users/JinXi/AppData/Roaming/ASP.NET/Https:/https/ dockerdemo:new
實踐完整步驟
-
%APPDATA%\ASP.NET\Https
預設證書位置 -
DockerDemo
專案名稱,必須要證書名稱一致 -
crypticpassword
SSL證書密碼
在window宿主機設定證書
-
DockerDemo\DockerDemo.csproj
專案相對路徑 -
C:\Users\JinXi\AppData\Roaming\ASP.NET\Https
可以使用相對路徑
移除已經存在的user-secrets
dotnet user-secrets remove "Kestrel:Certificates:Development:Password" -p DockerDemo\DockerDemo.csproj
清除證書
dotnet dev-certs https --clean
重新生成證書
dotnet dev-certs https -ep C:\Users\JinXi\AppData\Roaming\ASP.NET\Https\DockerDemo.pfx -p crypticpassword
dotnet dev-certs https --trust
dotnet user-secrets -p DockerDemo\DockerDemo.csproj set "Kestrel:Certificates:Development:Password" "crypticpassword"
執行容器命令,對映資料卷SSL證書
-
/mnt/c/Users/JinXi/AppData/Roaming/ASP.NET/Https
為wsl下的絕對路徑
docker run --rm -it -p 8000:80 -p 8001:443 -e ASPNETCORE_URLS="https://+;http://+" -e ASPNETCORE_HTTPS_PORT=8001 -e ASPNETCORE_Kestrel__Certificates__Default__Password="crypticpassword" -e ASPNETCORE_Kestrel__Certificates__Default__Path=/https/DockerDemo.pfx -v /mnt/c/Users/JinXi/AppData/Roaming/ASP.NET/Https:/https/ dockerdemo:new