0

我有一个部署在不同数据中心的云工作者角色,我想使用 Azure 流量管理器将人员发送到离他们最近的数据中心(性能平衡)。

工作人员角色已启动并运行且运行良好。我尝试HttpListener在端口 80 上添加一个,以便流量管理器可以检查状态。当我使用 RDC 连接到运行 Cloud Worker 服务的 VM 时,我可以点击127.0.0.1:80并获取OK我让它返回的消息。但是,当我点击外部 url 时,123456789abcdef.cloudapp.net出现 503 错误。

我已将进程设置为运行elevated,以便它可以打开端口HttpListener,所以这不是问题。

我为端口 80 设置了一个 http 端点,并且HttpListener它位于端口 80 上,正如能够127.0.0.1:80从 VM 中命中所证明的那样。

我的问题是两个部分:

  1. 这是为工作服务设置流量管理器状态端口的正确方法吗?
  2. 当我从 VM 上的 localhost 获得 200 时,为什么我从外部主机名获得 503?
4

1 回答 1

1

问题是 IIS 管理器中的站点绑定。如果你查看一个 webrole,你会看到一个 Binding for dip:port。如果您在打开 IIS 后查看 workerrole,您将看到*:port. 这允许http://localhost工作,但不允许来自负载均衡器的请求。如果您编辑绑定以添加它,dip:port那么它应该可以工作。

*注意dip= VM 的内部 ip 地址,可以从 ipconfig 中获取。

于 2014-04-18T16:20:28.790 回答