我有一台用作 Web 服务器的 Azure VM。目前它在 IIS 中托管 1 个站点。我为该站点设置了域名和 SSL 证书,并将其绑定到端口 443。该站点运行良好,已运行超过 1 年。
举例来说,假设该站点的域名是 mytest.com。
我最近在 IIS 中安装了第二个站点,在 Web 服务器上本地浏览时,该站点运行良好(这并不奇怪)。我在这个 Azure VM 中有一个专用 IP 地址,因此在设置绑定时,新站点和我现有的站点必须使用相同的 IP 地址。我的理解是,在 IIS 中将两个站点放在同一个 IP 地址上的简单方法是为每个站点设置不同的主机名。
在这种情况下,我认为我可以创建一个子域。作为测试,我在站点绑定中输入了以下主机名:
sub1.mytest.com
然后我编辑了 HOSTS 文件,将 sub1.mytest.com 指向 127.0.0.1,因为我认为这是实现此目的所必需的。这样我就可以在本地计算机上使用 sub1.mytest.com 顺利导航到该站点。我知道我需要更新 DNS 记录,以便外部世界使用此 URL。
我还需要为这个新站点提供 SSL 证书,我没有通配符证书,因此我为子域购买了另一个证书并能够正确配置它(在本地服务器上浏览时会显示该证书。)唯一的问题是 IIS 不允许我在同一个 IP 地址上有两个站点使用相同的端口和不同的证书,因此我不是在端口 443 上运行第二个站点,而是在端口 8443 上运行它。然后我更新了 Azure 网络安全组以在端口 8443 上打开入站 tcp,就像已经对 80、443 等所做的那样。
此后,我进入 Azure 中的 DNS 区域并开始尝试进行配置。我参考了这篇文章:
https://docs.microsoft.com/en-us/azure/dns/delegate-subdomain
根据本文中的说明,我创建了新的我的子域的 DNS 区域,因此在 Azure 中,我现在有一个 mytest.com 的 DNS 区域和一个 sub1.mytest.com 的 DNS 区域。根据该文章中的说明,我在 sub1.mytest.com DNS 区域中创建了一个 A 记录,并将其指向我的 Web 服务器的 IP 地址(文章说将其指向 10.10.10.10,但我认为这只是为了举例。)
然后按照说明,我在父母DNS 区域 (mytest.com),并添加到子 DNS 区域 (sub1.mytest.com) 中可查看的名称服务器信息中。我将 NS 条目命名为“sub1”,与子域同名。
然后,我在 sub1.mytest.com 上执行 nslookup,它解析为我的网络服务器的 IP 地址,所以我怀疑它会起作用。但是,尽管反复尝试,当我浏览 sub1.mytest.com 时,它始终无法解析网站,总是在浏览器中给出 ERR_CONNECTION_TIMED_OUT。
我假设我在 Azure DNS 区域配置或 IIS 配置中犯了一个错误,虽然我对配置 IIS 的水平还算中等,但处理站点绑定等并不是我经常需要做的事情,而且我在更新 DNS 条目或使用 Azure 的 DNS 区域方面经验不多,如能得到任何指导我将不胜感激。