使用环境变量为 HTTPS 配置 Kestrel

Mih*_*myh 3 kestrel kubernetes asp.net-core

我正在尝试使用 Kubernetes 设置 ASPNET.Core 3.0 Web 应用程序,但无法让 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

Run Code Online (Sandbox Code Playgroud)

我在没有启用 https 的情况下运行该应用程序,发现该卷已正确安装在 pod 内,并且certificate.pfx存在于/app/tls/.

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

Mih*_*myh 9

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

ASPNETCORE_Kestrel__Certificates__Default__Password

ASPNETCORE_Kestrel__Certificates__Default__Path