【问题标题】:Reach Service Fabric from internet从 Internet 访问 Service Fabric
【发布时间】:2018-11-24 04:00:53
【问题描述】:

我正在使用 Microsoft Azure Service Fabric,但在从 Internet 访问服务时遇到了一些问题。

我的情况:

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

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

问题

如何设置环境以便从 Internet 访问服务?

我阅读了一些文档:

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

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

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

  • 运行状况探测:添加了 8939 端口的配置。
  • 负载平衡规则:使用之前的运行状况探测配置添加了 8939 => 8939 TCP 直通配置。

但是当我尝试从浏览器访问它时,我得到了超时。

欢迎提出任何建议。

问候,

阿提利奥

【问题讨论】:

  • 您是否尝试通过反向代理地址http://[FQDN]:[ReversPoxyPort]/[ApplicationName]/[ServiceName]/[Controller] 访问您的API?

标签: azure microservices azure-service-fabric


【解决方案1】:

因此,如果您启用了反向代理,并且想要使用端口 8939 上的端点并不有趣,因为您应该使用代理 url 访问反向代理

正如 cmets 中所指出的,格式是 http://[FQDN]:[ReversPoxyPort]/[ApplicationName]/[ServiceName]/[Controller],通常端口是 19081,所以 url 变成了 myawesomeservicefabric.westeurope.cloudapp.azure.com:19081/FabricApp1/Service1/Values 之类的东西

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

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

【讨论】:

  • 请注意,使用门户创建集群时,没有部署 NSG。
【解决方案2】:
  • RDP into 机器并在 localhost 上测试端点。如果它不起作用,则可能是应用程序错误。
  • 验证防火墙设置,以获取端口 8939 上传入流量的规则。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-06
    • 2020-01-04
    • 2019-02-15
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    • 2019-02-23
    • 2018-12-05
    相关资源
    最近更新 更多