首页 > 解决方案 > 如何在 Azure 虚拟机中设置终结点

问题描述

我正在尝试在 Azure VM 上设置MailTrain(一个时事通讯应用程序)。我用虚拟机、虚拟网络、网络接口、网络安全组、公共 IP 地址和私有 DNS 区域创建了一个资源组。

MailTrain 需要三个 URL 端点,它们都指向同一个 IP 地址。出于测试目的,我想创建所有指向 VM 的内部端点。我在 DNS 区域中使用了 DNS 条目,但它没有按我的预期工作。

私有 DNS 区域的名称等于 VM 的公共 IP 地址的 DNS 名称。私有 DNS 区域和虚拟机通过虚拟网络链接链接并启用自动注册。虚拟网络包含一个默认子网。我为指向 VM 的内部 IP 地址的“列表”创建了一个 A 条目,为指向公共 IP 地址的 DNS 名称的“sbox”创建了一个 CNAME 条目。端口 80 和 443 的入站规则已添加到网络安全组。

控制台在运行安装脚本时向我显示以下消息:

Domain: lists.xxx.cloudapp.azure.com
Type:   None
Detail: DNS problem: NXDOMAIN looking up A for
lists.xxx.cloudapp.azure.com - check that
a DNS record exists for this domain

Domain: sbox.xxx.cloudapp.azure.com
Type:   None
Detail: DNS problem: NXDOMAIN looking up A for
sbox.xxx.cloudapp.azure.com - check that a
DNS record exists for this domain

Domain: xxx.cloudapp.azure.com
Type:   unauthorized
Detail: Invalid response from
https://xxx.cloudapp.azure.com/.well-known/acme->challenge/VIjYMd-Uic_T2lQBl4vSyy9Va46-yVxmTA8SSE3f8J8
[xxx.xxx.xxx]: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML
2.0//EN\">\n<html><head>\n<title>503 Service
Unavailable</title>\n</head><body>\n<h1>Service"

标签: azurednsvirtual-machineendpointmailtrap

解决方案


按照该快速入门,您只需在公共域 DNS 区域中创建三个 DNS 记录。

在此处输入图像描述

请注意,Azure 中有公共 DNS私有 DNS。在这种情况下,我假设您已经为内部端点创建了一个私有 DNS 区域。要从您的虚拟网络解析私有 DNS 区域的记录,您必须虚拟网络与该区域链接。此外,您还可以在虚拟网络链接上启用自动注册。如果在虚拟网络链接上启用自动注册,则该虚拟网络上的虚拟机的 DNS 记录将在专用区域中注册。或者,您可以手动创建一条A记录以映射到区域中您的 VM 的私有 IP 地址,并创建其他 CNAME 记录以映射到其他内部端点。

作为最佳实践,不要将.local域用于您的私有 DNS 区域。并非所有操作系统都支持这一点。

此外,您需要在与 Azure VM 子网或 NIC 关联的网络安全组中80添加入站端口。443

更新

对于内部测试,您可以使用私有 DNS 区域,因为私有区域中的 DNS 记录只能在虚拟网络中解析,无法通过 Internet 解析,您可以在这种情况下选择本地安装。

例如,我创建了一个名为 的私有 DNS 区域contoso.com

在此处输入图像描述

本地安装后,您可以通过受信任的端点访问该网站http://localhost:3000,然后您应该访问 VNet 中的其他端点,而不是访问外部。 在此处输入图像描述

但是,如果您想将其用于公共访问,您可以选择安装受 SSL 保护的公共网站。在这种情况下,您需要购买一个域并将相关的 DNS 记录添加到相应 DNS 提供商的 DNS 区域中。Azure DNS 区域支持在 Azure 中托管您的公共域区域。


推荐阅读