我正在尝试使用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
中编写一些代码?