【问题标题】:"HTTP Error 503. The service is unavailable" on port sharing with WebListener on Service Fabric与 Service Fabric 上的 WebListener 共享端口时出现“HTTP 错误 503。服务不可用”
【发布时间】:2016-12-08 02:01:50
【问题描述】:

我想为 Service Fabric 集群内的两个不同的 Web 应用程序(webpi/website)共享 http/80 端口,应用程序必须有 2 个不同的主机名:

mywebapi.commywebsite.com

如果我用 fabric(控制台应用程序)运行应用程序一切正常:

第一个控制台应用

 var _webHost = new Microsoft.AspNetCore.Hosting.WebHostBuilder()
    .UseWebListener().UseContentRoot(Directory.GetCurrentDirectory())
    .UseStartup<Startup>().UseUrls("http://myWebApi.com/").Build();

第二个控制台应用:

 var _webHost = new Microsoft.AspNetCore.Hosting.WebHostBuilder()
    .UseWebListener().UseContentRoot(Directory.GetCurrentDirectory())
                                               .UseStartup<Startup>()
                                               .UseUrls(
                                                "http://myWebSite.com/"
                                               )
                                               .Build();

但如果我在本地结构中运行应用程序,我会得到:

HTTP Error 503. The service is unavailable.

我已经用netshSetupEntryPoint(no Access Denied on open) 设置了正确的ACL

在 microsofthttp.sys 上允许显式主机。

【问题讨论】:

    标签: azure-service-fabric


    【解决方案1】:

    确保删除 ServiceManifest.xml 中端口 80 的所有 HTTP 端点配置,否则 Service Fabric 将覆盖特定于域的 ACL。请参阅此处了解信息:host multiple public sites on service fabric

    【讨论】:

    • 您能否确认我还必须添加新的防火墙规则?似乎结构为 endoint 端口创建了 urlacl 和防火墙规则。如果我没有在本地机器上创建防火墙规则(在机器集群上登录并使用浏览器导航),站点已启动且可访问,但在集群外,端口 80 已关闭,可能是因为对该端口的探测失败。命令:netsh advfirewall firewall add rule name="FabricWebSite 80" dir=in action=allow protocol=TCP localport=80 netsh http add urlacl url=myWebApi.com:80 user="NT AUTHORITY\NETWORK SERVICE"
    【解决方案2】:

    为什么不将两者都发布到非 80 端口并使用默认负载均衡器重新映射它?

    【讨论】:

    • 你有关于它的一些文档吗?我读到默认负载均衡器没有“按主机名路由”
    • 在 Azure 屏幕上开始我们自己帮不上什么忙,它有一个重新映射的 url,它可能与默认域相关联。从长远来看,我们打算使用 .Core 网关,它有很多可以定制的路由。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-26
    • 1970-01-01
    相关资源
    最近更新 更多