您能判断 API 请求是否未通过 Azure API 管理吗?
Can you tell if an API request hasn't come through Azure API Management?
我有一个 API 在通过 Azure API 管理公开的 Azure 应用程序服务上运行。有没有办法判断是否有任何请求直接发送到应用程序服务 URL 而无需通过 API 管理服务?
在我看来,apim 无法记录那些直接访问应用服务 url 的请求,因为这些请求与 apim 没有任何关系。如果你想记录这些请求,你需要修改代码中的api。
例如,您可以在api管理中添加一个具有特定值的参数,当您的代码收到此参数时,您可以检查该值以了解它是否来自apim。
我假设您想阻止直接调用应用程序服务 url。所以我建议你在你的服务器上添加白名单,这样只有 apim 请求可以访问你的服务器。
关于添加访问限制,如果你使用的是Azure应用服务,你可以了解这个ms document。
我相信如果您在 API 管理和 APP 服务上启用 Application Insights,您可以查看 Application Insights 对 APP 服务的请求,以判断哪些是直接调用,哪些是来自API管理。
我有一个 API 在通过 Azure API 管理公开的 Azure 应用程序服务上运行。有没有办法判断是否有任何请求直接发送到应用程序服务 URL 而无需通过 API 管理服务?
在我看来,apim 无法记录那些直接访问应用服务 url 的请求,因为这些请求与 apim 没有任何关系。如果你想记录这些请求,你需要修改代码中的api。
例如,您可以在api管理中添加一个具有特定值的参数,当您的代码收到此参数时,您可以检查该值以了解它是否来自apim。
我假设您想阻止直接调用应用程序服务 url。所以我建议你在你的服务器上添加白名单,这样只有 apim 请求可以访问你的服务器。
关于添加访问限制,如果你使用的是Azure应用服务,你可以了解这个ms document。
我相信如果您在 API 管理和 APP 服务上启用 Application Insights,您可以查看 Application Insights 对 APP 服务的请求,以判断哪些是直接调用,哪些是来自API管理。