微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Kubernetes 中使用 HTTPS 在本地运行 asp.net 核心

如何解决如何在 Kubernetes 中使用 HTTPS 在本地运行 asp.net 核心

我目前有一个用于 Asp.Net Core 的 docker-compose 设置。但是,在 Kubernetes 中测试集群时,我遇到了 kestral 的 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 文件从我的本地计算机获取到机密中,我认为复制和粘贴不是可行的方法

我看了这篇 SO post Access .NET Core app on Kubernetes on both http and https

但是看起来他们正在使用使用 .key 和 .crt 的 .Net 5。我在使用 .pfx 文件的 .Net 3.1 上。

解决方法

与其使用 https 部署您的 .NET 核心容器,您应该使用 http 部署它并使用 nginx-ingress 来提供 https,如此处所述https://cert-manager.io/docs/tutorials/acme/ingress/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。