NetCore5实现https请求

2021-09-26

前言

本文主要介绍在NetCore5中,实现证书加载和https访问请求。

证书准备

首先我们先创建一个自定义的证书Kiba518.pfx。

证书创建参考:最通俗易懂的RSA加密解密指导

然后将证书放到输出目录的根目录中,如下图:

代码编写

首先新建一个NetCore5的项目——WebTest。

然后编写Program.cs 文件,代码如下:

public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }
​
        public static IHostBuilder CreateHostBuilder(string[] args)
        {
            return Host.CreateDefaultBuilder(args)   
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>(); 
                    webBuilder.UseKestrel(op =>
                    {
                        op.ListenAnyIP(5180, (lop) =>
                        {
                        });
                        op.ListenAnyIP(5188, (lop) =>
                        {
                            //var certPath = "Kiba518.pfx";
                            //var certPwd = "123456";
                            //var x509ca = new X509Certificate2(certPath, certPwd);
                            //lop.UseHttps(x509ca);
                            lop.UseHttps("Kiba518.pfx", "123456");
​
                        });
​
                    }); 
                });
        }
    }

这里我们监听了一个http的5180端口和一个https的5188端口。

然后运行WebTest.exe,如下图:

然后我们分别访问https://localhost:5188/http://localhost:5180/

结果如下图所示,访问成功,但都会跳转到5188。

这是因为我们的Startup文件下,默认开启了 Http重定向到Https。

删除这一行代码,再访问5180,就可以访问成功了,如下图。

----------------------------------------------------------------------------------------------------

到此,NetCore5实现https请求就已经介绍完了。

----------------------------------------------------------------------------------------------------

注:此文章为原创,任何形式的转载都请联系作者获得授权并注明出处!
若您觉得这篇文章还不错,请点击下方的推荐】,非常感谢!

https://www.cnblogs.com/kiba/p/15338183.html