我在欧盟西部地区有一个 Web 应用,它调用托管在欧盟北部地区的 API。当我将 Web 应用放在 VNet 中并调用另一个我无法控制的地区的 Web 应用时,我收到 403 Ip Forbidden。
为了测试,我设置了 2 个 Web 应用程序。 http://vnetazuretestnortheurope.azurewebsites.net/swagger/index.html 和 http://vnetazuretestwesteurope.azurewebsites.net/swagger/index.html
使用 swagger,您可以通过传入 URL 来创建服务器到服务器的调用。如果您尝试使用“https://api.bankintegration.dk“对于我无法控制或属于 VNet 一部分的 Web 应用程序,结果是不一样的。
欧盟北部(同一区域)的结果为 200。欧盟西部(跨区域)的结果为 403 Ip Forbidden。
如果我从 EU West Web App 中删除与 VNet 的集成,则请求有效。
Azure 的问题、我的配置的问题还是远程 API 配置的问题?
答案1
请首先查看与 vNet 与应用服务集成以及跨区域通信相关的文档:https://docs.microsoft.com/en-us/azure/app-service/web-sites-integrate-with-vnet
另请注意,目前已知有两个版本存在限制:
一个版本支持与同一区域中的 VNet 集成。此形式的功能需要同一区域中 VNet 中的子网。此功能仍处于预览阶段,但支持 Windows 应用生产工作负载,但下面会提到一些注意事项。