如何解决如何将来自与包含服务终结点的 VNet 集成的应用服务的出站流量路由到外部 Azure 托管 API?
我正在尝试使用高级 V2 应用服务计划来保护我的容器化 Web 应用。我已经为不同应用服务的集成子网启用了服务端点,以限制彼此之间的传入流量(前端除外)(因此所有这些都与 VNet 集成,并且除了前端之外,所有传入流量都限制到该 VNet) .
我还有其他 Azure 服务,例如 Azure Functions 或存储帐户,它们可以通过使用这些服务端点来限制入站流量。但是,应用服务之一也调用位于 Azure 上的外部 3rd 方 API。该 API 可能位于也可能不在静态 IP 之后。但是,它具有关联的自定义域。
当我尝试从 VNet 集成应用服务之一连接到该 API 时出现问题。由于目标 IP 位于使用服务终结点添加到路由的 IP 范围之一内,因此流量将通过该服务终结点而不是简单的 Azure 路由发送。我已经尝试使用与该子网关联的路由表覆盖该路由,但这似乎是不可能的,无论是否有连接到子网的 NAT 网关。我猜这里优先考虑 Azure 路由。我确定该路由无效,因为我在部署 VM 的不同子网上使用它。
有什么办法可以只将该服务端点用于我的内部流量,以便在它转到 Azure 托管 API 时不使用它,或者我需要切换到不同的方法,如私有端点或 ASE?
解决方法
我不确定您在寻找什么,但如果您想明确定义路由,您应该尝试使用应用服务设置“WEBSITE_VNET_ROUTE_ALL”= 1,它会覆盖路由的默认优先级并确保每个出站呼叫都遵循定义的路由子网路由表内。 使用以下步骤在您的应用程序中添加 WEBSITE_VNET_ROUTE_ALL 设置: 转到应用程序门户中的配置 UI。选择新建应用程序设置。
在名称框中输入 WEBSITE_VNET_ROUTE_ALL,并在值框中输入 1。
当 WEBSITE_VNET_ROUTE_ALL 设置为 1 时,出站流量仍会从您的应用属性中列出的地址发送,除非您提供将流量定向到其他地方的路由。
,我们已经能够要求第 3 方禁用屏蔽规则。事实证明,他们有一个规则来阻止这个特定的流量。 我已经尝试更改该设置,但没有尝试在其上放置路由表。但是,这没有任何区别,因为我无法定义属于 Azure 的允许出站 IP 列表,因为我们没有可调用的静态 IP。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。