• Kestrel使用Https证书


    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("
    ", _appSettings.Urls)}
    ");
                    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();
        }
    
    总有一些人过着你想要的生活
  • 相关阅读:
    WIN8.1优化
    Iframe跨域嵌入页面自动调整高度的办法
    win8优化
    160多条Windows 7 “运行”命令
    用 C# 代码如何实现让你的电脑关机,重启,注销,锁定,休眠,睡眠
    system32下 exe文件作用
    html高度百分比分配
    Django启程篇
    自适应网页前端设计相关
    crontab定时任务及jar包等问题
  • 原文地址:https://www.cnblogs.com/TTonly/p/14366218.html
Copyright © 2020-2023  润新知