Я веб-разработчик в крупной организации, и наш веб-сайт обслуживается нашим ИТ-отделом. Наш веб-сайт не загрузится без поддомена «www» перед ним, и ИТ-специалисты говорят, что это потому, что Active Directory должен использовать основной домен, и поэтому веб-сервер должен использовать поддомен. Говорят, исправить не возможно. Я очень скептически отношусь к этому утверждению, потому что это не было проблемой где-либо еще, о чем я работал или слышал, но я недостаточно знаком с рассматриваемыми технологиями, чтобы оспаривать эту точку зрения.
Итак, мой вопрос: звучит ли это разумно? Разве нельзя использовать AD в том же домене, что и веб-сервер? Спасибо!
В каждой среде Active Directory имя домена сопоставляется в DNS со всеми активными контроллерами домена; для каждого контроллера домена существует запись A, сопоставляющая имя домена с IP-адресом контроллера домена.
Допустим, у вас есть два DC и ваше доменное имя domain.com
; ваш DNS будет содержать что-то вроде этого:
domain.com 192.168.0.1
domain.com 192.168.0.2
dc1.domain.com 192.168.0.1
dc2.domain.com 192.168.0.2
Теперь, если вы добавите веб-сервер, вам нужно будет добавить еще одну запись A:
www.domain.com 192.168.0.10
Если ваша машина на самом деле не называется www
, что, вероятно, будет лучше обрабатываться записью A для настоящего имени сервера и записью CNAME для имени веб-сайта:
webserver.domain.com 192.168.0.10
www.domain.com webserver.domain.com.
Хорошо, все в порядке; но теперь вы хотите, чтобы пользователи вводили domain.com
в своих веб-браузерах и получить доступ к веб-серверу. Однако это не может работать: доменное имя уже указывает на все контроллеры домена, и оно имеет сделать это для правильной работы Active Directory. Если кто-то пытается получить доступ domain.com
в веб-браузере браузер попытается подключиться к случайному контроллеру домена, у которого (надеюсь!) даже нет запущенного веб-сервера; и даже если на нем установлен IIS, это не ваш настоящий веб сервер.
Если действительно, действительно, действительно необходимо иметь возможность использовать доменное имя AD для доступа к вашему веб-сайту, в этой ситуации есть ужасно уродливый обходной путь; Я настоятельно не рекомендую его использовать, но вот он: вы можете установить IIS на все контроллеры домена и настроить его для перенаправления входящих запросов на www.domain.com
; когда пользователь вводит domain.com
в веб-браузере запрос достигнет случайного DC; IIS, запущенный на этом контроллере домена, затем перенаправит пользователя на www.domain.com
. Опять же: по возможности избегайте этого решения, потому что использование IIS на контроллерах домена - это действительно плохая практика, даже если он используется только для перенаправления запросов в другое место.
Разве настоящая проблема не в том, что ваш домен AD совпадает с доменом вашего веб-сайта ?! Кто бы ни принял это решение, не в их пользу.