专用虚拟网络中 API 管理服务的逻辑应用程序中的名称解析失败

问题描述 投票:0回答:1

尝试将一组逻辑应用程序移动到天蓝色的专用虚拟网络中,并使用单个 API 管理器来管理对外部平台的所有调用。完成所有设置后,我现在可以调用 API 管理服务,如果我通过 IP 地址 (10.2.1.4) 调用端点,它会完美运行,我什至在相同的子网并使用邮递员我可以证明一切正常。

问题是,如果我尝试在逻辑应用程序中添加 API 管理器,它会找到 API,我可以选择任何操作 id,它会列出所有高级参数,一切都很好,但是当我尝试运行时它失败了,并显示:

Http 请求失败,状态代码为“HostNotFound”,状态消息为:“没有已知的主机。”。

所以原因(可能)非常简单,它不能隐藏 API 管理器的主机名,我的问题是,有没有办法告诉逻辑应用程序,当您尝试调用时:

https://myamazingAPIManager.azure-api.net

使用IP 10.2.1.4

或者我完全错过了什么?

azure azure-api-management azure-virtual-network
1个回答
0
投票

好吧,经过一番苦思冥想,我得出的结论是,他们只是不希望 API 管理器位于虚拟网络内。我认为您可以通过在 VNET 内部设置 DNS 来绕过它,然后强制 API 管理器的流量使用内部 IP。但您不能使用其他地址(因为 API 管理器要求您使用它的完整 URL,包括 azure-api.com)

所以你需要做的是: 将 API 从私有或外部 Vnet 中移出 enter image description here 将专用端点添加到 API 管理器 enter image description here

之后,它工作得很好,但是,如果您计划使用 vnet 来保护您的应用程序,您现在需要单独锁定 API 管理器,我们可能会阻止它接受任何不是来自端点的请求,但是那是以后的事了。

© www.soinside.com 2019 - 2024. All rights reserved.