7

我们实现了如下设置:

  • 应用服务环境具有不同的应用服务公开不同的 API。此实例被配置为内部实例,因此没有公共访问权限。
  • 我们已经配置了一个内部(私有)DNS 区域。该区域用于为 API 创建内部 URL。
  • 对外暴露的 API 管理实例。这里需要使用 API 自身公开的 Swagger 文件来注册 API。
  • 一切都包含在同一个 VNet 中。

现在我们看到的是两件事:

  1. 从 VNet 中的 VM,我可以毫无问题地浏览 API 的 URL 并下载 Swagger 文件。
  2. 当我们尝试在 API 管理中注册 API 时,它会抛出一个错误,指出无法下载文件。当我们手动注册然后尝试调用 API 时,我们会收到 DNS 解析错误。

因此,API 管理实例似乎无法将我们的自定义 DNS 区域解析为 Azure 中的设置。我找不到任何信息来告诉我是否支持这种情况。确实非常欢迎任何可能有助于发现问题的指针。

更新当我们通过上传文件注册API,然后尝试调用其中一个API方法,出现如下错误:

The remote name could not be resolved

这个相同的地址从完全相同的 VNet 中的 VM 解析得很好。

4

1 回答 1

0

我有同样的问题,当我在网上寻找时,下面的解决方案看起来很有希望。不言自明,需要在 vnet 之间启用 DNS 转发。更多信息在这里 https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/virtual-network/virtual-networks-name-resolution-for-vms-and-role-instances.md#name-使用您自己的 dns 服务器的分辨率

在此处输入图像描述

于 2019-09-18T17:52:52.057 回答