Добрый день, на IIS 10 разместил несколько демо приложений asp.core 2.1 на портах 5000 и 5003 а также зарегестрировал им домены. При пробросе 80 порта от микротика (action dst-nat; to-adress 192.168.1.10; to-ports: 5000-5010) доступен только один сайт, второй присылает в ответ HTTP Error 400. The request hostname is invalid. Привязки в IIS стоят на каждом веб сайте и если по отдельности пробрасывать на каждый сайт то они работают. Как настроить IIS чтобы при пробросе портов (от 80 порта до 192.168.1.10:5000-6000) работали все размещенные на нем сайты. Спасибо.
Port mapping так не работает. Вам нужно сделать пустой сайт в IIS на отдельном порту, в котором наделать правил URL Rewrite с типом Revesre Proxy до ваших приложений, и NATить на роутере 80 порт до этого сайта.
Пробрасывай один порт, и в IIS несколько сайтов на один IP и один порт (например, 192.168.1.10:80). Но с разными именами узла. В логах IIS надо посмотреть, чтобы сохранялись реальные IP внешних пользователей, а не айпи микротика (если это надо).
Igor Tkhorik, Asp.Net Core приложения работают под Kestrel. И они и будут там на разных портах.
Публикуя эти приложения под IIS, IIS автоматом становится прокси для них.
За это отвечает обработчик, например, AspNetCoreModuleV2 IIS'a https://dotnet.microsoft.com/download - только runtime или SDK правильный загрузи.
Настрой IIS Application без поддержки NetFramework и публикуй приложение в каталог IIS из VS.
Корректный web.config создастся автоматически.
WebHost.CreateDefaultBuilder(args).UseIISIntegration() // обеспечиваем интеграцию с IIS