如何让 Service Fabric 反向代理在 Azure 上工作

Posted

技术标签:

【中文标题】如何让 Service Fabric 反向代理在 Azure 上工作【英文标题】:How to get Service Fabric Reverse Proxy to work on Azure 【发布时间】:2019-08-29 16:04:44 【问题描述】:

我创建了一个 Azure Service Fabric Web API 并计划通过 Service Fabric 的内置反向代理访问它。

在本地一切正常,但是当我发布到 Azure 时,尝试通过反向代理访问路由会超时。

我认为这可能是我的应用程序,所以我只是使用默认模板打开了一个新解决方案并发布到我的本地。一切正常反向代理和所有。所以我发布到 Azure 并再次遇到同样的问题。

我可以通过正常路由(通过服务的端点)访问 Azure 上的 Web API,例如:

xxxx.east.cloudapp.azure:8080/api/values

但是通过19081的反向代理端口超时:

xxxx.east.cloudapp.azure:19081/[app]/[service]/api/values

我确实确保在 Azure 上设置集群资源时勾选 Enable Reverse Proxy,并将端口设置为 19081。以上两种方法在 localhost 上都可以正常工作,但只有正常路由在 Azure 上有效。

想知道是否需要对清单进行一些额外的编辑,或者我必须做些什么才能使其在 Azure 上正常工作?

【问题讨论】:

【参考方案1】:

你有没有看到documentation关于如何配置它?

如果您要在 Internet 上公开服务,请注意,内置服务会导致每个服务都被公开,它没有经过强化,容易受到 DOS 攻击。 Docs

我建议将 Traefik 视为反向代理和负载平衡器。 您可以将其作为集群内的(容器化)入口路由服务运行,并将 HTTP 调用定向到您的服务。

Here's 文档。 Here's 如何开始。 Here's 一个例子。

您也可以使用Api Gateway,它也与顺丰集成。 甚至nginx

【讨论】:

以上是关于如何让 Service Fabric 反向代理在 Azure 上工作的主要内容,如果未能解决你的问题,请参考以下文章

Service Fabric TCP 反向代理

创建 Service Fabric 群集后启用反向代理

使用 https 的 Service Fabric 反向代理

Service Fabric 反向代理端口可配置性

如何为现有的本地集群配置和启用 Azure Service Fabric 反向代理?

API(网关)提供的反向代理和Service Fabric有啥区别?