【问题标题】:calling service fabric reverse proxy through standard port通过标准端口调用服务结构反向代理
【发布时间】:2018-08-27 21:29:05
【问题描述】:

我已经在我的服务结构中使用 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

【问题讨论】:

    标签: reverse-proxy azure-service-fabric


    【解决方案1】:

    要从自定义域名访问您的集群,您需要将 CNAME 添加到您在 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。

    【讨论】:

    • 感谢您的回复,您刚才描述的一切我都已经做了;但 atm 唯一可访问的地址是 mycluster.westeurope.cloudapp.azure.com:19081 而 mycustomedomain.com 返回超时而不是重定向到 mycluster.westeurope.cloudapp.azure.com
    • 我已经用负载平衡规则更新了我的答案。
    • 我修改了 HB 规则如下: AppPortLBRule (TCP/80 to TCP/19081) ; LBSFReverseProxyRule(TCP/19081 到 TCP/44338);仍然不起作用,我也无法分配另一个 LB(TCP/443 到 TCP/19081),尝试执行此操作时 azure 给我一条错误消息
    猜你喜欢
    • 2015-12-13
    • 1970-01-01
    • 2018-03-07
    • 1970-01-01
    • 2020-10-14
    • 1970-01-01
    • 2020-07-12
    • 1970-01-01
    • 2015-10-29
    相关资源
    最近更新 更多