首页 > Web开发 > 详细

Kestrel使用Https证书

时间:2021-02-03 13:59:00      阅读:70      评论:0      收藏:0      [点我收藏+]
public class Program
    {
        private static AppSettings _appSettings { get; } = new ConfigurationBuilder()
                        .SetBasePath(AppDomain.CurrentDomain.BaseDirectory)
                        .AddJsonFile("appsettings.json", false)
        #if DEBUG
                                .AddJsonFile("appsettings.Development.json", true)
        #endif
                                .Build().Get<AppSettings>();

        public static async Task<int> Main(string[] args)
        {
            var logger = LogManager.GetCurrentClassLogger();
            try
            {
                Console.WriteLine("Starting host...");
                var host = CreateHostBuilder(args).Build();
                Console.WriteLine($"{string.Join("\r\n", _appSettings.Urls)}\r\n");
                await host.RunAsync();
                //CreateHostBuilder(args).Build().Run();
                return 0;
            }
            catch (Exception ex)
            {
                logger.Error(ex, "Stopped program because of exception");
                return 1;
            }
            finally
            {
                LogManager.Shutdown();
            }
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                var certpath = Path.Combine(AppContext.BaseDirectory, _appSettings.Certificate.Path);
                var certificate = new X509Certificate2(certpath, _appSettings.Certificate.Password);
                webBuilder
                //.UseEnvironment(Environments.Production)
                .UseStartup<Startup>()
                .UseUrls(_appSettings.Urls)//多URL
                .UseKestrel(options =>
                {
                    options.ConfigureHttpsDefaults(options => { options.ServerCertificate = certificate; });
                })
                ;
            })
            .ConfigureLogging(logging =>
            {
                logging.ClearProviders();
                logging.SetMinimumLevel(LogLevel.Trace);
            })
            .UseNLog();
    }

Kestrel使用Https证书

原文:https://www.cnblogs.com/TTonly/p/14366218.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!