我已在服务结构中使用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
答案 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.