【问题标题】:Get client IP address from Azure Logic app从 Azure Logic 应用获取客户端 IP 地址
【发布时间】:2021-03-14 05:35:41
【问题描述】:

我有一个由 HTTP 请求触发的逻辑应用,我想在工作流中使用调用者的 IP 地址进行日志记录和管理。

我收到的 HTTP 标头(由门户显示)仅包括以下内容:

 "Host": "prod-101.westeurope.logic.azure.com",
    "User-Agent": "Mozilla/5.0,(Windows NT 6.3; Microsoft Windows 6.3.9600; hu-HU),PowerShell/7.1.3",
    "Content-Length": "350",
    "Content-Type": "application/json"

是否有任何进一步的设置可以将“X-Forwarded-Host”添加到标头,或任何其他方式从逻辑应用获取调用方的外部 IP。

谢谢!

【问题讨论】:

    标签: azure azure-functions azure-logic-apps


    【解决方案1】:

    Logic App 本身不支持此功能,您可以在此处支持 user voice 请求。

    但是,您可以将 HTTP 请求传递给 LogicApp 中的 Azure 函数并使用以下逻辑

    #r "System.Web"
    
    using System.Net;
    using System.Web;
    
    public static HttpResponseMessage Run(HttpRequestMessage req, TraceWriter log)
    {
        string clientIP = ((HttpContextWrapper)req.Properties["MS_HttpContext"]).Request.UserHostAddress;
        return req.CreateResponse(HttpStatusCode.OK, $"The client IP is {clientIP}");
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-14
      • 1970-01-01
      • 2013-07-07
      • 2011-05-26
      • 2019-11-13
      • 1970-01-01
      • 1970-01-01
      • 2011-01-08
      相关资源
      最近更新 更多