HostFilteringMiddleware:过滤主机名,强制请求提供有效主机名
HttpMehodOverrideMiddleware:改写httpMethod
ForwardedHeadersMiddleware:如果请求再到达最终服务器之前经过多方转发导致HttpContext上下文无法反应出请求的最初发起者,可以使用此中间件解决
UsePathBaseMiddleware:帮我们设置当前应用的基础路径
MapMiddleware、MapWhenMiddleware:提供了最简单与最直接的路由实现
HostFilteringMiddleware
中间件定义再Microsoft.AspNetCore.HostFiltering
Nuget包中
对请求的主机名验证,我们可以指定一组有效的主机名。
services.AddHostFiltering(options =>
{
options.AllowedHosts.Add("127.0.0.1");
});
app.UseHostFiltering();
HostFilteringOptions
AllowedHosts允许访问的Host主机
AllowEmptyHosts是否允许请求头Host的值为空访问 默认为true
IncludeFailureMessage 返回错误信息,默认为true
HttpMehodOverrideMiddleware
可以改写HTTP方法,由于一些网络设置、客户端软件或服务器限制,一些场景下只允许发送或接受GET、POST请求,这就要求服务端在路由之前改写当前请求的HTTP方法
ForwardedHeadersMiddleware
用来改写客户端IP地址、主机名、协议类型(HTTP、HTTPS)