使用环境变量为 HTTPS 配置 Kestrel

Configure Kestrel for HTTPS using environmnet variables

我正在尝试使用 Kubernetes 设置 ASPNET.Core 3.0 网络应用程序,但我无法让 Kestrel 使用 https。

我在网上搜索了一些关于我可以声明用于传递证书路径和密码的环境变量的信息。

我已经使用这些变量进行了 Kubernetes 部署,如下所示:

    spec:
      containers:
      - env:
        - name: ASPNETCORE_URLS
          value: http://+:80;https://+:443
        - name: ASPNETCORE_KESTREL_CERTIFICATE_PASSWORD
          value: password
        - name: ASPNETCORE_KESTREL_CERTIFICATE_PATH
          value: /app/tls/certificate.pfx
        volumeMounts:
        - name: storage
          mountPath: "/app/tls"
      volumes:
      - name: storage
        persistentVolumeClaim:
          claimName: tls-storage

我 运行 未启用 https 的应用程序,看到卷已正确安装在 pod 内并且 certificate.pfx 存在于 /app/tls/

有人知道 Kestrel 是否默认配置为从这些环境变量中获取值,或者我是否也应该在 Program.cs/Startup.cs 中编写一些代码?

实际上我刚刚找到了正确的环境变量:

ASPNETCORE_Kestrel__Certificates__Default__Password

ASPNETCORE_Kestrel__Certificates__Default__Path