通过标准端口调用服务结构反向代理

时间:2018-03-19 10:42:52

标签: reverse-proxy azure-service-fabric

我已在服务结构中使用kestrel设置反向代理,因此使用https进行调用(详情请参阅:Service Fabric https endpoint with kestrel and reverse proxy)。所以我可以这样访问我的SF前面https://mycluster.westeurope.cloudapp.azure.com:19081/myapp/myservice

但那些不起作用

http://mycluster.westeurope.cloudapp.azure.com:19081/myapp/myservice/api/healthcheck/ping https://mycustomdomain:19081/myapp/myservice/api/healthcheck/ping http://mycustomdomain:19081/myapp/myservice/api/healthcheck/ping

现在我需要实现的是调用http://mycustomdomain.com来将调用重定向到工作端点。

有可能吗?我可以修改我的LB规则/健康探测吗?这样做的正确方法是什么?

Health probes
NAME                    PROTOCOL    PORT    USED BY
AppPortProbe            TCP         44338   AppPortLBRule
FabricGatewayProbe      TCP         19000   LBRule
FabricHttpGatewayProbe  TCP         19080   LBHttpRule
SFReverseProxyProbe     TCP         19081   LBSFReverseProxyRule

Load balancing rules
NAME                    LOAD BALANCING RULE                 BACKEND POOL                    HEALTH PROBE
AppPortLBRule           AppPortLBRule (TCP/44338)           LoadBalancerBEAddressPool       AppPortProbe
LBHttpRule              LBHttpRule (TCP/19080)              LoadBalancerBEAddressPool       FabricHttpGatewayProbe
LBRule                  LBRule (TCP/19000)                  LoadBalancerBEAddressPool       FabricGatewayProbe
LBSFReverseProxyRule    LBSFReverseProxyRule (TCP/19081)    LoadBalancerBEAddressPool       SFReverseProxyProbe

1 个答案:

答案 0 :(得分:0)

要从自定义域名访问您的群集,您需要在mycustomdomain.com的自定义域注册中添加CNAME,指向群集DNS名称mycluster.westeurope.cloudapp.azure.com

有关博文here的更多信息。

之后,您可以在ConfigureServices中强制使用HTTPS:

services.Configure(options =>
{
   options.Filters.Add(new RequireHttpsAttribute());
});

并从Configure中的HTTP重定向到HTTPS:

var options = new RewriteOptions()
   .AddRedirectToHttps();
app.UseRewriter(options);

更多信息here

负载均衡器需要调整,更改负载均衡规则以转发内部反向代理端点上的外部端口80和443.