在具有代理的Http请求中,浏览器的ip和请求协议(http、https)被隐藏在X-Forwarded-*字段中,而字段Remote Address为代理服务器的地址,请求协议(http、https)为代理服务器的请求协议
如果想将这些信息设置为浏览器的请求信息,请应用如下中间件
.net core 中间件
在中间件的开始,应用如下中间件
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
// 将XForwardedFor和XForwardedProto的信息替换掉对应的头部信息
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto,
// 代理服务器的地址
KnownProxies = { IPAddress.Parse("172.17.0.0") }
});
本文介绍在具有代理的HTTP请求中,如何通过使用.NET Core中间件来处理和替换X-Forwarded-For和X-Forwarded-Proto字段,以确保正确反映客户端的真实IP和请求协议。
267

被折叠的 条评论
为什么被折叠?



