我已经在反向代理功能后面的服务结构上部署了API,因此我的前端应用程序可以在https://something.anything.com:19081/Applicationtype/servicename上使用。我希望将其路由到诸如https://app.companyname.com之类的子域之后。因此,总结一下,当我在浏览器中点击https://app.companyname.com时,我希望SF应用程序的登录页面没有端口和尾随路径。我在Azure上有哪些选择以及如何配置? 注意:根据我的研究,可能可以通过应用程序网关实现,但不确定配置。
答案 0 :(得分:0)
是的,我认为使用应用程序网关应该有可能。您需要为应用程序网关配置http侦听器,以侦听特定的主机名并路由到特定的backend \ path组合。
本文或多或少涵盖了此设置:https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-create-url-route-portal
答案 1 :(得分:0)
Service Fabric提供的反向代理在这些情况下不是很灵活。
您可以使用Traefik:
Traefik具有一个内置的Service Fabric Provider,它将查询Service Fabric Management API以发现集群中正在运行的服务。然后,提供程序将路由规则映射到这些服务实例。
在这种情况下,您必须将服务中的规则定义为服务定义中的标签,以便Traefik可以发现服务并使用正确的规则:
<StatelessServiceType ServiceTypeName="WebServiceType">
<Extensions>
<Extension Name="Traefik">
<Labels xmlns="http://schemas.microsoft.com/2015/03/fabact-no-schema">
<Label Key="traefik.frontend.rule.example">PathPrefixStrip: /product</Label>
<Label Key="traefik.expose">true</Label>
<Label Key="traefik.frontend.passHostHeader">true</Label>
</Labels>
</Extension>
</Extensions>
</StatelessServiceType>
这是文档提供的直观表示形式: