我有一个asp.net核心7.0 API应用程序,它位于Nginx入口控制器后面的Kubernetes中的Docker容器中。
要获取我正在使用的客户端IP地址
context.HttpContext.Connection.RemoteIpAddress
对于所有用户请求,我得到一个私有IP地址,如“10.244.0.1”
在这种情况下,我期待公共IP地址
我有一个asp.net核心7.0 API应用程序,它位于Nginx入口控制器后面的Kubernetes中的Docker容器中。
要获取我正在使用的客户端IP地址
context.HttpContext.Connection.RemoteIpAddress
对于所有用户请求,我得到一个私有IP地址,如“10.244.0.1”
在这种情况下,我期待公共IP地址
1条答案
按热度按时间gdrx4gfi1#
您需要配置nginx来转发
X-Forwarded-For
和X-Forwarded-Proto
报头。然后设置
UseForwardedHeaders
中间件,该中间件将使用X-Forwarded-For
头值更新HttpContext.Connection.RemoteIpAddress
。检查:配置ASP.NET核心以使用代理服务器和负载平衡器