建设银行网上银行网站打不开,怎么做盗文网站,wordpress手机版,抖音代运营美发文章目录 1. ForwardedHeaders1.1 场景1.2 关键的HTTP头1.3 核心处理要点 1. ForwardedHeaders
1.1 场景
获取用户IP获取用户请求的原始URL
1.2 关键的HTTP头
X-Forwarded-ForX-Forwarded-ProtoX-Forwarded-Host
1.3 核心处理要点
设置PathBase设置ForwardedHeaders中间件… 文章目录 1. ForwardedHeaders1.1 场景1.2 关键的HTTP头1.3 核心处理要点 1. ForwardedHeaders
1.1 场景
获取用户IP获取用户请求的原始URL
1.2 关键的HTTP头
X-Forwarded-ForX-Forwarded-ProtoX-Forwarded-Host
1.3 核心处理要点
设置PathBase设置ForwardedHeaders中间件设置受信任的网关或代理的IP段
public void ConfigureServices(IServiceCollection services)
{...services.ConfigureForwardedHeadersOptions(options {// 默认情况下ForwardedHeadersOptions有默认的设置和代理这里要清除掉options.KnownNetworks.Clear();options.KnownProxies.Clear();options.ForwardedHeaders ForwardedHeaders.All;// 允许输出所有类型头});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{if (Configuration.GetValue(USE_PathBase, false)){app.Use((context, next) {context.Request.PathBase new PathString(/mobile);return next();});}if (Configuration.GetValue(USE_Forwarded_Headers, false)){app.UseForwardedHeaders();}// 通过上述两段代码就可以使应用程序正确感知到用户的原始响应默认情况下应用程序是没有开启这两段设置的
}// 控制器测试
[HttpGet]
public IActionResult ShowRequestUri(){return Content(Request.GetDisplayUrl());}[HttpGet]public IActionResult ShowHeaders(){var sb new System.Text.StringBuilder();foreach (var item in Request.Headers){sb.AppendLine(${item.Key}:{item.Value});}return Content(sb.ToString());}UseForwardedHeaders 作用是将当前的请求X-Forwarded-Header应用到HTTP Context上,作用是是应用程序在组装当前的请求地址时使用到正确的地址 通过以上设置应用程序输出真实的请求地址网关中不需要设置