azure - 如何通过私有 DNS 名称从虚拟网络中的应用服务访问 Azure VM?
问题描述
- VM 和应用服务位于同一虚拟网络中。
- 应用服务通过 VNet 集成添加到 VM(预览)
- 虚拟机在私有 DNS 区域中自动注册,比如 name
myvm1
。和全名myvm1.priv.zone
- 专用 DNS 区域链接到虚拟网络。
- 虚拟网络 - DNS 服务器设置为默认值。
- VM 和应用服务在配置后重新启动。
问题是我既不能解决也不能通过myvm1
应用myvm1.priv.zone
服务控制台解决nameresolver.exe
更新:实际上,问题更大。应用服务无法通过其专用 IP (10.1.xx) 向虚拟网络中的虚拟机发送请求,即使虚拟机的子网允许所有内容。如果将相同的请求发送到 VM 的公共 IP,则没有问题。
解决方案
作为现有答案,对于本文档中的场景Name resolution from App Service Web Apps to VMs in the same virtual network.
,您需要部署自己的 DNS 服务器来帮助进行名称解析。
以下是步骤:
- 在 VNet 中的 Azure VM 上,添加服务器角色
DNS server
,安装后,配置 DNS 服务器,添加区域名称,如qaz.lab
我的示例。您还可以A
在此区域中手动为您的 Azure VM 添加记录。 - 在 Azure VNet 的自定义 DNS 服务器中添加 DNS 服务器专用 IP 地址。然后重启 Azure VM 使其生效。
- 使用您的应用配置 VNet 集成,在这种情况下,选择新的 VNet 集成。之后,刷新您的 VNet 集成。您将在您的应用服务计划中看到 DNS 服务器更新 --- 网络。
- 导航您的应用服务,运行
nameresolver FQDN
以验证 DNS 解析。目前,它只支持 FQDN解析。
如果您有任何问题,请告诉我。
推荐阅读
- amazon-web-services - S3 上的应用程序如何连接到私有子网上的内部负载均衡器
- django - Django web app not redirecting and not posting
- websocket - Websocket 握手失败
- windows - windows文件夹和linux文件夹之间的窗口映射中的Docker
- algorithm - 生成 0-N 范围内的随机数
- javascript - XMLHttpRequest 状态始终为 0
- unreal-engine4 - Unreal4 光束粒子源位置随骨骼/插槽移动
- python - 在 QProgressBar 内添加文本和完成百分比
- binary - 无法理解如何将虚拟地址转换为二进制形式
- c - 如何使用valgrind检测自定义alloc/free的内存泄漏?