public static IWebHostBuilder UseKestrelWithHttps(this IWebHostBuilder hostBuilder, HttpsServerOptions httpsOptions = null) { if (httpsOptions == null) { httpsOptions = HttpsServerOptions.Create(); } hostBuilder .UseKestrel( options => { httpsOptions.Apply(options); var certificate = new X509Certificate2( httpsOptions.CertificateOptions.Path, httpsOptions.CertificateOptions.Password); options.AddServerHeader = false; options.Listen(IPAddress.Loopback, httpsOptions.Port, listenOptions => { listenOptions.UseHttps(certificate); }); } ) .UseUrls($"https://*:{httpsOptions.Port}"); return(hostBuilder); }
private static void ConfigureServerOptions(WebHostBuilderContext wc, IServiceCollection sc) { sc.Configure <KestrelServerOptions>(options => { options.AddServerHeader = false; options.UseSystemd(); HttpsServerOptions httpsOptions = wc.Configuration.GetSection("server").GetSection("https").Get <HttpsServerOptions>(); if (httpsOptions?.CertificatePath != null) { options.Listen(IPAddress.Any, 80); options.Listen(IPAddress.Any, 443, opts => { opts.UseHttps(httpsOptions.CertificatePath, httpsOptions.CertificatePassword); }); } }); }
public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseKestrelWithHttps(HttpsServerOptions.Create(port: 4430)) .UseStartup <Startup>() .Build();