我刚刚设置了一个 Windows azure VM 并在其上安装了 IIS。
当我远程桌面到盒子上时,我可以看到默认的 IIS 网站很好,但我无法通过盒子的 IP 地址在网络上提供它。
我在 windows 防火墙上打开了 80 端口,还为端口 80 添加了一个端点。
我也尝试在防火墙完全关闭的情况下访问它,但无济于事......
如果我需要做任何其他事情来让它工作,我无法解决?
我刚刚设置了一个 Windows azure VM 并在其上安装了 IIS。
当我远程桌面到盒子上时,我可以看到默认的 IIS 网站很好,但我无法通过盒子的 IP 地址在网络上提供它。
我在 windows 防火墙上打开了 80 端口,还为端口 80 添加了一个端点。
我也尝试在防火墙完全关闭的情况下访问它,但无济于事......
如果我需要做任何其他事情来让它工作,我无法解决?
将端口 80 (http) 和端口 443 (https) 的端点添加到 Azure 门户中的 VM(提示:这可以使用 powershell 或 Azure cli 自动执行)。
远程桌面到机器。打开 Windows 防火墙控制面板并允许到端口 80 (http) 和端口 443 (https) 的流量,或者只是将其关闭...防火墙默认为 ON(提示:也可以通过 VM 代理/powershell 编写脚本)。
转到 Azure 门户并找到运行 VM 的 VM(实际上是云服务)的 cloudapp.net 子域。尝试使用该域访问该站点。如果这不起作用,请尝试浏览到服务器(远程桌面)上的http://localhost以确保 IIS 正常工作并从那里进行故障排除。
修改您的自定义域的 DNS 记录以使用 .cloudapp.net 域的 CNAME。如果您需要 A 记录,请确保使用云服务的公共 IP(只需 ping .cloudapp.net 域即可找到它或在 Azure 门户中查看)。
您可能想要查看 Azure 网站或 Azure 云服务(Web 角色)。这些更容易管理,也更便宜。它们仍然提供大部分功能。
对我来说解决这个问题的是进入 Azure 门户,浏览到“网络安全组”,选择 VM,然后创建一个入站规则以允许到端口 80 的流量。
注意:还要确保在实际 VM 上添加并启用了到端口 80 的入站规则。
好吧,我删除了现有的 VM 和云服务,然后重新开始 - 这次一切正常。
多么烦人!我唯一注意到的是,在我的云服务与我的虚拟机同名之前 - 这次他们有不同的名称,所以这可能是导致问题的原因。
干杯
对于较新的 VM 和预配置设置(2015 年以上),您的设置可能使用名为"Public IP"
. 如果是这样,您可以在其中设置自定义 DNS 名称标签,在"Configuration"
. 请注意,此名称将考虑创建 VM 时使用的任何类型的区域(例如 my-site.brazilsouth.cloudapp.azure.com)。
请记住,出于测试目的,使用随机指定给您的公共 IP 的值仍然足够。
虚拟机实际上是通过云服务访问的(它们适合我)。Azure 自动创建了一个云服务作为 VM 前端的扩展引擎/负载均衡器。我必须通过该云服务连接到网站,而不是直接连接到虚拟机。
您可能使用的是内部 IP 而不是外部 IP。
站点必须使用 IIS 绑定部分中的内部 IP 地址。但是,在您的 dns 中,您将需要使用外部 IP。这大概是因为“内部 IP”只是 Azure 用来将流量从外部网络映射到 VM 内部 azure 的虚拟 IP。
您应该会发现内部和外部 IP 在 VM 的桌面上都是可见的。
在注册表编辑器中关闭 TLS 1.3。在 2021 年 3 月写这篇文章时,这对我有用。