【问题标题】:Can't access a basic Fabric Azure WebAPI OWIN stateless service无法访问基本 Fabric Azure WebAPI OWIN 无状态服务
【发布时间】:2016-08-03 19:16:09
【问题描述】:

在关注tutorial 之后,我成功地在localhost:8534/simpleprime/api/values/* 上运行它,结果与 tut 相同。

后来将解决方案发布到远程云集群,我无法使用www.clusterurl:8534/api/values访问它,每次都超时。即使我在部署期间从 Visual Studio 获得了令人放心的事件诊断。

我还单独尝试了每个节点,将 http://node_ip:8543/simpleprime/api/values,没有运气

  • simpleprime 是 appRoot

【问题讨论】:

  • 仪表板说什么?

标签: c# azure asp.net-web-api owin azure-service-fabric


【解决方案1】:

终于解决了,在服务端口配置(又名ServiceManifest.xml)中有一个端口设置。将其更改为 19080 - 我的集群正在侦听的默认 http 端口后,一切都开始工作了。

【讨论】:

  • 我认为 19080 是 Service Fabric Explorer 的端口?我猜我会说您需要在 Azure 中编辑集群或负载均衡器的配置以允许您的端口 8543。
  • 我认为这可能是您集群的“节点类型配置”中的“自定义端点”设置。
【解决方案2】:

如果您想在 Azure 上使用 OWIN 侦听器访问您的服务,您应该定义在集群创建期间将由您的应用程序用于 LoadBalancer 的端口。

如果您因为某种原因忘记了,您可以稍后通过:

服务部分

  1. 使用 OWIN 侦听器转到您的服务的 PackageRoot/ServiceManifest.xml
  2. 直接定义您的端点(因此 SF 将使用您定义的端口号)(在我的示例中为 8081)

  3. 将应用程序重新发布到 Azure。

天蓝色部分

  1. 转到 Azure 门户
  2. 查找分配给您的 SF 的负载均衡器 (LB-nameofyourSF-namofNodeSet)
  3. 在 LoadBalancer 设置中转到 Probes 并添加新的探针,如下图所示,您的端口在 ServiceManifest.xml 中定义(在我的示例 8081 em>) 和协议 TCP
    1. 使用之前定义的端口和探测器以及正确的端口映射(在我的示例中为 8081)添加新的负载平衡规则

  1. 保存,现在您应该可以通过浏览器访问 Azure 上的服务了。

【讨论】:

  • 好答案!谢谢!
  • 感谢您提供图形细节!
  • 如果服务结构设置中有多个负载均衡器,那么这些规则是否需要添加到所有运行服务的负载均衡器中?我刚刚将规则添加到一个负载均衡器,我无法从外部访问服务端点。但是在另外一个 lb 加上同样的规则后,就可以在外部访问服务了。
猜你喜欢
  • 2018-07-06
  • 2017-06-26
  • 2017-06-22
  • 2016-08-07
  • 2017-10-30
  • 1970-01-01
  • 2017-11-11
  • 2017-02-18
  • 2016-11-16
相关资源
最近更新 更多