从互联网到达Service Fabric

时间:2018-06-14 11:24:25

标签: azure microservices azure-service-fabric

我正在使用Microsoft Azure Service Fabric,但我在从互联网上获取服务时遇到了一些问题。

我的情况:

  • 我创建了Service Fabric集群:
    • Windows Server 2016 Datacenter。
    • 节点类型计数:1。
    • 自定义端点:空。
    • “启用反向代理”已标记。
  • 我的所有服务都是基于.NET Core 2.1,REST API开发的。

使用Web浏览器,所有服务在本地运行良好(使用Service Fabric本地群集和Azure存储模拟器或Azure存储)。然后我将应用程序发布到Azure群集,但我无法通过Internet访问任何服务。

问题

如何设置环境以便从互联网上获取服务?

我读了一些文档:

ServiceMnifest.xml文件中的一个服务具有以下配置:

<Endpoint Protocol="http" Name="ServiceEndpoint" Type="Input" Port="8939" />

因此,我在负载均衡器中添加了以下配置:

  • 运行状况探测:添加了8939端口的配置。
  • 负载平衡规则:为8939 =&gt;添加了配置8939使用先前运行状况探测器配置的TCP直通。

但是当我尝试从浏览器访问它时,我会暂停。

任何建议都表示赞赏。

此致

阿蒂利奥

2 个答案:

答案 0 :(得分:1)

因此,如果您启用了反向代理,并希望使用端口8939上的端点不感兴趣,因为您应该使用代理URL访问反向代理

正如评论中指出的那样,格式为http://[FQDN]:[ReversPoxyPort]/[ApplicationName]/[ServiceName]/[Controller],通常端口为19081,因此网址变为myawesomeservicefabric.westeurope.cloudapp.azure.com:19081/FabricApp1/Service1/Values

与所有其他事项一样,端口应在负载均衡器中使用探针和规则进行配置。

我不确定门户网站现在对集群做了什么,但在某些时候,它配置了一个网络安全组,这可能也是导致问题的原因。

答案 1 :(得分:0)

  • RDP into机器并在localhost上测试端点。如果它不起作用,则可能是应用程序错误。
  • 验证防火墙设置,以获取端口8939上传入流量的规则。

  • Azure负载均衡器上的
  • Enable logging,以查看运行状况探测器是否检测到端点。