在Service Fabric上与WebListener共享端口时出现“HTTP错误503.服务不可用”

时间:2016-08-02 15:48:04

标签: azure-service-fabric

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

mywebapi.commywebsite.com

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

第一个控制台应用

 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.

我已使用ACLnetsh设置了正确的SetupEntryPoint(no Access Denied on open)

在微软http.sys指南上允许使用显式主机。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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