Я хочу разделить порт http/80 для двух разных веб-приложений (webpi/website) внутри кластера кластеров услуг, приложение должно иметь 2 разных имя хоста:«Ошибка HTTP 503. Услуга недоступна» при совместном использовании портов с WebListener в сервисе Fabric
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
разрешено использование явного хоста.
Можете ли вы подтвердить, что мне также нужно добавить новое правило брандмауэра? Кажется, что ткань создает urlacl и правило брандмауэра для коннектора. Если я не создаю правило брандмауэра на локальном компьютере (вход в компьютерный кластер и перемещение с помощью браузера), сайт вверх и доступен, но из кластера порт 80 закрыт, возможно, потому что пробник на этом порту не работает. Команды: netsh advfirewall firewall добавить имя правила = «FabricWebSite 80» dir = in action = разрешить протокол = TCP localport = 80 netsh http add urlacl url = http: //myWebApi.com: 80/user = "NT AUTHORITY \ NETWORK SERVICE " – Marco