【问题标题】:Hosting website on Azure Virtual Machine在 Azure 虚拟机上托管网站
【发布时间】:2013-06-28 15:26:46
【问题描述】:

昨天我使用简单的 Win2008r2 + SQL2008r2 映像创建了一个 Azure 虚拟机。

我已通过 RDP 会话将网站部署到 VM。

我可以使用

在本地(通过 RDP)浏览网站
"http://localhost"

我知道我需要为端口 80 添加一个 Azure 端点,以使我能够从外部计算机浏览到该站点。

我已在 Azure VM 上配置 Windows 防火墙,以允许端口 80 上的流量入站和出站。

谁能告诉我错过了什么或我可以做些什么来解决问题?

---更新-----

今天早上我学到了更多。我试图在 VM 上托管的网站是 Interwoven Teamsite v7.3.x 的安装。当我查看 IIS 时,我可以看到“默认网站”已停止。另一个名为“TeamSiteSitePubPreview”的网站已创建,但仅绑定到端口 81。

那么,当我浏览到

http://localhost locally?

我运行了 netstat -ano,这向我显示了 PID 1604 在端口 80 上侦听的内容。然后我运行 Process Explorer,它告诉我 PID 1604 已分配给“Appache HTTP Server”。

我对 Appache 一无所知,谁能告诉我是否有一些 Apache 配置会阻止来自本地服务器外部的连接?

【问题讨论】:

  • 发生了什么错误?是“找不到页面”还是“找不到服务器错误”?
  • 通过 Fiddler 请求时收到以下响应:[Fiddler] 与 teamsitepoc.cloudapp.net 的套接字连接失败。
    ErrorCode: 10060.
    连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应
  • 本教程帮助我在 Azure 上托管网站 youtube.com/watch?v=5qqTS2oBHDw

标签: apache azure azure-virtual-machine


【解决方案1】:

作为参考,我刚刚测试了这个序列,它为您提供了一个可通过 Internet 访问的网站:

  • 使用 Windows Server 2008 R2 SP1 映像创建新的 Windows Azure 虚拟机。
  • 在公共端口 80、私有端口 80 上添加端点。
  • 在创建端点时,开始设置服务器。
  • 远程桌面。
  • 使用默认设置添加 Web 服务器 (IIS) 角色。
  • 测试连接。您应该会获得 HTTP 200 OK 状态。

如果您想对服务器进行故障排除,请开始检查事件日志中的错误。还要检查 IIS 中的网站绑定(端口 80,IP 地址 *)。

还要考虑连接问题可能出在客户端(您的)端。例如,DNS 缓存。尝试从具有直接 Internet 连接的另一台计算机(例如另一台云服务器)或从 isup.me 等服务进行连接。

此外,如果您只想在 IIS 中托管网站,Web Sites 服务的体验更加流畅。

【讨论】:

  • 感谢费尔南多的建议,但恐怕我仍然遇到同样的问题。我在台式电脑(以及来自他们家庭网络的同事)上使用的 URL 是 teamsitepoc.cloudapp.net。我在 IIS 日志或 eventvwr 中看不到任何有价值的东西。 Azure 网站不适合我需要 VM 的用途。
  • 我看到您更新了您的问题以添加您正在运行 Apache Web 服务器。鉴于您已在 Azure 中配置了端点,并在 Windows 中配置了入站防火墙规则,这可能是 Apache 中的错误配置,无论是在虚拟主机中还是在绑定中。我会尽力帮助你。请使用您的 httpd.conf 和其他 Apache 配置文件的相关部分更新您的答案。另外,您是否使用虚拟主机?
  • 我希望在星期二查看 Apache 配置。作为测试(为了证明使用 IIS 时一切正常),我在绑定到端口 82 的 IIS 中创建了一个简单的“hello world”网站,并为端口 82 添加了一个 azure 端点。我也可以在本地浏览到这个 (localhost:82)但不是来自外部机器(teamsitepoc.cloudapp.net:82)。如果我可以检查 Azure 负载均衡器/交换机级别的某种日志以发现它对失败的请求做了什么,这可能会有所帮助?
  • 只是检查一下,您在Windows防火墙中也打开了入站TCP端口82,对吗?并且IIS网站要绑定接口(地址*)。
  • 噢!我忘记打开端口 82 的防火墙。非常感谢 - 我现在已经证明问题是由 apache 配置引起的,而不是 Azure。
【解决方案2】:

您还需要通过 Windows Azure 管理门户在端口 80 上创建一个端点。此端点在 Windows Azure 负载平衡器中打开一个端口。 在门户中导航到您的 VM,并在 Azure 管理门户中 VM 配置的 Endpoints 屏幕下创建一个新的 Endpoint。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-11
    • 2016-11-20
    • 2015-09-06
    • 2021-06-20
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多