【问题标题】:How to get client's Public IP Address in .Net Core?如何在 .Net Core 中获取客户端的公共 IP 地址?
【发布时间】:2023-03-19 22:13:01
【问题描述】:

有没有办法在 .Net Core Web API 应用程序中获取客户端的公共 IP 地址?

我尝试过Request.HttpContext.Connection.RemoteIpAddress,但它提供的是本地 IP,而不是公共 IP。

我还尝试使用 webrequest 从 IPInfo、checkip.. 等获取 IP,但由于请求是从服务器创建的,因此我获取的是服务器公共 IP,而不是客户端公共 IP。

【问题讨论】:

    标签: asp.net-mvc api asp.net-core asp.net-web-api .net-core


    【解决方案1】:

    听起来中间有某种代理。这也可能是服务器 Kesterl/IIS/nginx 或您可能使用的任何问题。

    无论如何,您要搜索的是 X-Forwarded-For 标头。您可能必须配置您的服务器/代理等以添加或传递它,否则您将始终获得内部 IP。

    在您的应用中,您必须检查此标头的值以检索真实的客户端 IP。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-24
      • 2014-08-16
      • 1970-01-01
      • 2014-12-08
      • 2022-01-20
      • 1970-01-01
      • 2020-04-29
      相关资源
      最近更新 更多