栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

.Net 5 Web应用程序配置Https(使用SSL证书)

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

.Net 5 Web应用程序配置Https(使用SSL证书)

大多数的教程都是ASP.NET Core1.1的教程,使用了UseHttps的方法,关于.Net 5的教程很少,所以下面介绍以下如何在.Net 5 Web项目中使用SSL证书。

首先需要准备一个SSL证书(可以去买,也可以去生成一个用于测试),然后找到证书的.pfx文件和密码(阿里云购买的证书.pfx文件在IIS目录下,密码在txt文件中写着)。

操作

打开Program.cs文件,修改CreateHostBuilder方法为

public static IHostBuilder CreateHostBuilder(string[] args)=>
	Host.CreateDefaultBuilder(args)
	.ConfigureWebHostDefaults(webBuilder => 
	{
		webBuilder.UseStartup()
		.UseUrls("testhostname")//填入域名或主机名或ip
		.UseKestrel(option => 
		{
			option.ConfigureHttpsDefaults(o => 
			{
				o.ServerCertificate = 
				new System.Security.Cryptography.X509Certificates.X509Certificate2(@"C:xxx.pfx","pwd");//证书路径、密码
			});
		});
	});

配置完这些就可以打包发布直接在服务器dotnet上运行了(别忘了把pfx文件拷贝过去)

参考说明

在.Net 5中,用来配置Kestrel的方法是IWebHostBuilder.UseKestrel,该方法是扩展方法,同时将Kestrel设置为web的指定服务器
参考官方文档:WebHostBuilderKestrelExtensions.UseKestrel 方法
这时候如果使用IIS进行调试运行就会抛出以下异常

System.InvalidOperationException:“Application is running inside IIS process but is not configured to use IIS server.”

使用上述方法配置用于传入Kestrel选项的回调即Action(KestrelServerOptions类)
使用ConfigureHttpsDefaults方法来设置每个新建的https终结点指定要运行的配置操作。(KestrelServerOptions.ConfigureHttpsDefaults)
传入处理Https连接的设置(HttpsConnectionAdapterOptions类)
调用ServerCertificate来指定服务器证书(HttpsConnectionAdapterOptions.ServerCertificate属性),该值为X509Certificate2类型(X509Certificate2类),这个类型表示的是一个X.509证书,通过构造函数传入文件名和密码,然后赋值给ServerCertificate属性即可完成证书配置。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/905390.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号