Cha*_*has 6 asp.net-mvc ip-address amazon-web-services amazon-elb
我正在 AWS 上的一个包含 ELB 的 Elastic Beanstalk 环境中运行一个 ASP.NET Core MVC 应用程序。
我使用此代码来获取客户端的 IP 地址:
HttpContext.Connection.RemoteIpAddress.ToString()
Run Code Online (Sandbox Code Playgroud)
但是,这会返回负载均衡器的 IP 地址,而不是客户端的 IP 地址。我相信RemoteIPAddress
返回存储在 X-Forwarded-For HTTP 标头中的地址,理论上应该是客户端 IP,但它不是。
所以我按照说明,根据这些说明为 ELB 启用代理协议。
但仍然没有运气。将RemoteIPAddress
仍然返回相同的IP ELB,而不是客户端IP。
在 ELB 后面的 AWS 上运行 ASP.NET Core MVC 应用程序时,有没有人能够获得客户端 IP?如果是这样,如何?
任何帮助将不胜感激。
您只需查看X-Forwarded-For
原始 IP 地址的标头即可。
要访问标题,请查看HttpContext.Current.Request.Headers
或HttpContext.Request.Headers
。
当我使用该方法在 ELB 后面的 AWS 上运行 ASP.NET Core MVC 应用程序时,成功列出了原始客户端 IP。
归档时间: |
|
查看次数: |
729 次 |
最近记录: |