我正在尝试在 azure 上建立一个新环境。
主要思想是让多个功能应用程序只能使用 API 管理访问,所以我试图将应用程序限制设置为仅虚拟网络。
我已经搞定了:
- 使用地址空间为 192.168.0.0/24 的默认子网创建了虚拟网络
- 创建 APIM 并将虚拟网络设置为外部并连接到我创建的 VNet
- 在 ConsumptionPlan 中创建了具有 IP 限制的函数应用,仅来自创建的 VNet
- 将 API 从 Functions 导入 APIM
- 设置 AAD 登录
现在,当我尝试直接访问某个函数端点(使用函数应用程序的 URL)时,它会抛出 403 错误,这很好。当我使用 APIM 调用某个端点时,它会将我重定向到函数应用 URL 并再次向我抛出 403。当我将我的 IP 添加到函数的允许列表时,我可以连接,但也可以直接使用函数 URL。
我的想法是可以访问例如https://apim.azure-api.net/endpoint-url而不是直接https://functionapp.azurewebsites.net/endpoint-url(仅使用 APIM)
有什么想法我该怎么做?