0

我们正在使用带有 webhook 的 Azure 逻辑应用。

Webhook 正在通过 Azure APIM 调用一些 API(服务结构后端 - 但这不重要)。完成特定工作后,API 调用逻辑应用程序的 webhook 回调 - 就在书上。

另一方面,洛杉矶的触发器有一个 IP 范围限制设置。直到最近,一切都运行良好——对于我们的一些环境,有时来自 API 的回调调用会失败——显然是因为逻辑应用程序无法识别 IP。

第一个问题:为什么(是)限制也适用于回调——那些不是实际的触发器?

第二个问题:回调怎么可能在我们的某些环境中仍然有效,并且应用了相同的限制。

4

1 回答 1

1

至于 IP 限制,处理所有传入请求的网关对于请求连接器和 HTTP WebHook 连接器都是相同的。虽然您可能会在此处使用该操作,但有一个 WebHook 触发器以类似的方式工作,但用作触发器。

至于为什么有时会失败取决于请求如何从 API 路由到逻辑应用程序。确保仅从单个 IP 进行访问的一种方法是将这些回调路由到 APIM,并让 APIM 将请求转发到您的逻辑应用程序。这样,对您的逻辑应用程序的所有请求都将来自 APIM。


要通过 APIM 路由回调请求,您将需要 APIM 中的特殊 API/操作,它将请求转发到在标头或查询参数中传递的 URL。

因此,您将使用自定义标头中的回调 URL 或作为查询参数调用此 APIM 端点,而不是直接调用回调 URL。此操作的 APIM 策略将使用set-backend-servicerewrite-uri策略将此调用转发到逻辑应用终结点。

于 2020-02-03T11:58:18.457 回答