Asp.net-Core

如何在 Kubernetes 中使用 HTTPS 在本地執行 ASP.NET Core

  • June 2, 2022

我目前有一個用於 ASP.NET Core 的 docker-compose 設置。然而,當我在 Kubernetes 中測試集群時,我遇到了 Kestrel 的 SSL 問題。最初使用 Docker/Docker-compose 您可以設置本地 SSL

dotnet dev-certs https -ep %USERPROFILE%\.aspnet\https\<app_name>.pfx -p <password>

然後

dotnet dev-certs https --trust

最後

dotnet user-secrets set "Kestrel:Certificates:Development:Password" "<password>"

在 Docker-compose 中,我將捲設置為指向該證書

volumes:
     - ${APPDATA}\microsoft\UserSecrets\:/root/.microsoft/usersecrets
     - ${USERPROFILE}\.aspnet\https:/root/.aspnet/https/

我很好奇如何使用 kubernetes 在本地測試 https。我看到了一個 git repo https://github.com/Lybecker/k8s-friendly-aspnetcore,但是我不知道如何將 .pfx 文件從我的本地電腦獲取到秘密中,我認為複制和粘貼不是要走的路。

我在 http 和 https 上查看了這篇 SO 文章Access .NET Core app on Kubernetes

然而,看起來他們正在使用.Net 5,它使用.key 和.crt。我在使用 .pfx 文件的 .Net 3.1 上。

與其使用 https 部署 .NET 核心容器,不如使用 http 部署它並使用 nginx-ingress 提供 https,如下所述:https ://cert-manager.io/docs/tutorials/acme/nginx-ingress/

引用自:https://stackoverflow.com/questions/65943983