在asp.net core中,如果在kestrel中想使用https对站点进行加密传输,可以按照如下方式
申请证书
这一步就不详细说了,有免费的和收费的,申请完成之后会给你一个*.pfx结尾的文件。
添加nuget包
nuget中查找然后再程序中添加引用microsoft.aspnetcore.server.kestrel.https
配置
把*.pfx结尾的文件拷贝的程序的web根目录,然后修改programs.cs文件:
public class program
{
public static void main(string[] args) {
var config = new configurationbuilder().addcommandline(args).addenvironmentvariables("aspnetcore_").build();
var host =
new webhostbuilder().useconfiguration(config).usekestrel(confighttps()).usecontentroot(
directory.getcurrentdirectory()).useiisintegration().usestartup<startup>().build();
host.run();
}
private static action<kestrelserveroptions> confighttps() {
return x => {
var pfxfile = path.combine(directory.getcurrentdirectory(), "*.pfx");
//password 填写申请的密钥
var certificate = new x509certificate2(pfxfile, "password");
x.usehttps(certificate);
};
}
}
然后命令行窗口运行dotnet xxx.dll --server.urls https://www.example.com:port即可。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
更多asp.net core kestrel 中使用 https (ssl)。