我想在服务架构集群内共享两个不同的Web应用程序(webpi / website)的http / 80端口,应用程序必须有2个不同的主机名:
mywebapi.com
和mywebsite.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.
我已使用ACL
和netsh
设置了正确的SetupEntryPoint(no Access Denied on open)
。
在微软http.sys
指南上允许使用显式主机。
答案 0 :(得分:1)
确保在ServiceManifest.xml中删除端口80的任何HTTP端点配置,否则Service Fabric将覆盖特定于域的ACL。有关信息,请参阅此处:host multiple public sites on service fabric
答案 1 :(得分:0)
为什么不将两者都发布到非80端口并使用默认的负载均衡器重新映射呢?