У меня есть сервер IIS 8 (win 2012 r2) с несколькими сайтами и портами:
Я бы использовал полное доменное имя для доступа к сайтам. для примеров:
site1.lan : @IP_of_iis_server:9500
site2.lan : @IP_of_iis_server:2729
и т.д ..
Я добавляю новый хост (A) в DNS-сервер, но он не принимает порты с IP
Как я могу решить эту проблему? Спасибо!
Запись DNS A только сообщает клиенту, к какому IP-адресу разрешается имя, поэтому то, что вы описываете, является ожидаемым поведением.
Есть несколько способов получить доступ к разным сайтам на вашем сервере. Наименее сложным было бы просто сообщить клиентам, какой сервис на каком порту находится. Другими словами, клиент не мог просто перейти к "http: //site1.lan" или "http: //site2.lan", но вместо этого им нужно будет явно указать веб-серверу, что они хотят"http: //site1.lan: 9500","http: //site2.lan: 2729"или любое допустимое сочетание имен и портов (поскольку разные записи DNS указывают на один и тот же адрес).
Вместо этого вы, вероятно, захотите использовать обратный прокси-сервер перед вашими сайтами, который прослушивает стандартные порты, такие как 443 (HTTPS) или 80 (HTTP), а затем отправляет клиента на правильный порт в зависимости от того, какое имя хоста или путь они запросили. прокси для.
Лично мне нравится использовать HAProxy для этих вещей, но, согласно моей поисковой системе, вы, вероятно, могли бы сделать это изначально в IIS, используя URL Rewrite v2 и маршрутизация запросов приложений.