使用环境变量配置Kestrel的HTTPS

3

我正在尝试使用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

我在未启用https的情况下运行了应用程序,并看到卷已正确挂载在pod内,certificate.pfx位于/app/tls/中。

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

1个回答

9
我刚刚找到了正确的环境变量:
ASPNETCORE_Kestrel__Certificates__Default__Password
ASPNETCORE_Kestrel__Certificates__Default__Path

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接