首页 > 解决方案 > ASP.NET Core 应用程序设置生产 SSL 证书

问题描述

我可以在我的开发盒上运行良好,但不能在产品中运行。

我的服务器上为我的域安装了 SSL 证书。

如何告诉我的 ASP.NET Core 应用程序使用哪个证书?我想我需要添加一些东西让它知道。

我问是因为目前我得到:

无法启动 Kestrel。System.InvalidOperationException:无法配置 HTTPS 端点。未指定服务器证书,默认开发人员证书找不到或已过期。

试图让它在 IIS 上运行,但没有任何运气,所以使用 Kestrel 进行测试只需在我的工作机器和服务器上单击它。

标签: asp.net-coressl-certificate

解决方案


如何告诉我的 ASP.NET Core 应用程序使用哪个证书?我想我需要添加一些东西让它知道。

据我所知,我们可以使用 kestrel 或 IIS 来托管应用程序。

如果您想为将由 kestrel 托管的 Web 应用程序绑定证书,我建议您可以尝试通过调用以下方法来配置证书:

UseHttps(X509Certificate2 serverCertificate)

更多细节,您可以参考以下代码(程序 CreateHostBuilder 方法):

                webBuilder.UseKestrel(serverOptions =>
                {
                    serverOptions.Listen(IPAddress.Loopback, 5001,
                        listenOptions =>
                        {
                            listenOptions.UseHttps("testCert.pfx",
                                "testPassword");
                        });

                });

如果要为IIS托管的Web应用程序绑定证书,无需修改program.cs代码,直接使用IIS管理控制台设置SSL即可。

更多细节,你可以参考这篇文章


推荐阅读