Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
                    });
                }
            });
        }
Ejemplo n.º 3
0
 public static IWebHost BuildWebHost(string[] args) =>
 WebHost.CreateDefaultBuilder(args)
 .UseKestrelWithHttps(HttpsServerOptions.Create(port: 4430))
 .UseStartup <Startup>()
 .Build();