ASP.NET Core教程-Configuration(配置)-配置Kestrel服务器
更新记录
转载请注明出处:
2022年11月13日 发布。
2022年11月12日 从笔记迁移到博客。
配置Kestrel服务器
ConfigureKestrel方法则能够用来配置Kestrel服务器
通过KestrelServerOptions对象(即options变量)的属性与方法
能够控制Kestrel服务器的行为
如在响应中不包含Server消息头、设置服务器侦听地址与端口、启用HTTPS等
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Net;
namespace WebApplication6
{
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
webBuilder.ConfigureKestrel((hostingContext, options) => {
//是否每个HTTP响应都要有Header
//默认为true
options.AddServerHeader = false;
//设置监听的地址和端口
options.Listen(IPAddress.Loopback, 6000);
options.Listen(IPAddress.Loopback, 6001);
//设置启用HTTPS并设置SSL证书
options.Listen(IPAddress.Loopback, 6002, listenOptions => {
listenOptions.UseHttps("ssl证书文件.pfx", "ssl证书文件密码");
});
});
});
}
}
配置强制使用HTTP/2
本质就是配置Kestrel服务器
using System.Net;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Server.Kestrel.Core;
namespace Catalog.API
{
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args)
{
return WebHost.CreateDefaultBuilder(args)
.ConfigureKestrel(options =>
{
//设置监听配置
options.Listen(IPAddress.Any, 5002,listenOptions =>
{
//设置HTTP协议,启用HTTP2
listenOptions.Protocols = HttpProtocols.Http2;
});
})
.UseStartup<Startup>();
}
}
}
修改服务器侦听的IP地址、主机地址以及使用的端口号
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Net;
namespace WebApplication6
{
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
webBuilder.UseUrls("http://*:5000;http://localhost:5001;https://hostname: 5002");
});
}
}
本文来自博客园,作者:重庆熊猫,转载请注明原文链接:https://www.cnblogs.com/cqpanda/p/16882674.html