Cyb*_*onk 15 configuration web-services reverse-proxy azure azure-service-fabric
Azure服务结构反向代理是否可在内部部署群集中使用?如果是这样,我如何为现有群集启用它?
此处描述了 Service Fabric Reverse Proxy .它允许群集外部的客户端通过名称使用特殊URL访问应用程序服务,而无需知道运行服务实例的确切主机:端口(可能会随着服务自动移动而更改).
默认情况下,似乎没有为具有两个无状态服务实例的本地群集启用Service Fabric反向代理.我尝试使用记录的端口19008,但无法使用推荐的URI语法访问该服务.
即,这工作:
http://fqdn:20001/api/odata/v1/$metadata
Run Code Online (Sandbox Code Playgroud)
但这不是:
http://fqdn:19008/MyApp/MyService/api/odata/v1/$metadata
Run Code Online (Sandbox Code Playgroud)
在用于设置我的本地群集的ClusterConfig JSON的NodeTypes部分中,有一个属性"httpGatewayEndpointPort":"19080",但该端口似乎不能用作反向代理(它是Service Fabric Explorer Web -app endpoint).我猜测在集群配置JSON中以某种方式指定了所需的配置.还有的说明书中引用的文章解释了如何配置在云中的反向代理,而不是本地.
我正在寻找的是有关如何在本地多机群集或开发群集中设置Service Fabric反向代理的说明.
Cyb*_*onk 14
是的,反向代理可在本地使用.
要使其适用于现有群集,必须在群集配置XML中对其进行配置和启用,然后必须部署新配置,如下所述.
对于新群集,请在创建群集之前在群集配置JSON中进行设置,如@Scott Weldon所述.
@Senj提供了线索(谢谢!),这让我得到答案.我最近在我的开发盒上更新了我的Service Fabric位到5.1.163.9590.当我查看C:\ SfDevCluster\Data\FabricHostSettings.xml时,我注意到以下内容:
<Section Name="FabricNode">
...
<Parameter Name="NodeVersion" Value="5.1.163.9590:1.0:0" />
...
<Parameter Name="HttpApplicationGatewayListenAddress" Value="19081" />
<Parameter Name="HttpApplicationGatewayProtocol" Value="http" />
...
</Section>
Run Code Online (Sandbox Code Playgroud)
有趣!随着开发群集的启动,我浏览了:
http://localhost:19081/MyApp/MyService/api/odata/v1/$metadata
Run Code Online (Sandbox Code Playgroud)
瞧!我的API返回了预期的数据.所以@Senj是正确的,它与HttpApplicationGateway设置有关.我猜测在最新的SDK版本中,它是预先配置并默认启用的.(让我失望的是所有文档都指的是端口19008,但实际配置的端口是19081!)
为了让反向代理在"真正的"多机(VM)集群上工作,我做了以下(注意:我不认为升级集群代码包是必要的,但因为我的图像存储中没有任何内容对于集群升级,集群升级过程需要代码包,我使用的是最新版本):
在NodeType Endpoints部分,添加:
<NodeTypes>
<NodeType Name="NodeType0">
<Endpoints>
<HttpApplicationGatewayEndpoint Port="19081" Protocol="http" />
...
</Endpoints>
</NodeType>
</NodeTypes>
Run Code Online (Sandbox Code Playgroud)
在<FabricSettings>,并添加以下部分:
<Section Name="ApplicationGateway/Http">
<Parameter Name="IsEnabled" Value="true" />
</Section>
Run Code Online (Sandbox Code Playgroud)
使用Service Fabric PowerShell命令:
集群升级完成后,我可以使用反向代理端点和appname/servicename URL语法查询我的服务API:
http://fqdn:19081/MyApp/MyService/api/odata/v1/$metadata
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9226 次 |
| 最近记录: |