Предоставление доступа к веб-сайту без www в среде активного каталога

Наш веб-сайт размещен вне нашей сети. В каноническом URL-адресе намеренно отсутствует www, и он будет 301 перенаправлять любые запросы, содержащие www, на канонический URL-адрес. Все идет нормально.

Проблема заключается в предоставлении доступа к веб-сайту из нашей локальной сети. Теоретически ответ прост: добавьте запись хоста в DNS, указывающую foobarco.org на внешний веб-хост. (например, foobarco.org -> 203.0.113.7)

Тем не менее, наш домен активной директории такой же, как и наш общедоступный веб-сайт (foobarco.org), и AD, по-видимому, периодически автоматически создает записи узла (A) в корне домена, соответствующие нашим контроллерам домена. Это вызывает очевидные проблемы: пользователи локальной сети, пытающиеся получить доступ к сайту, вместо этого разрешают контроллеры домена.

В качестве меры пресечения мы переопределяем DNS, используя файл hosts на клиентах, но это быстрый взлом, который плохо масштабируется.

Взлом файла hosts не сломал ничего очевидного, поэтому я сомневаюсь, что такое поведение важно для операций AD, но я не нашел способа его отключить.

Можно ли переопределить это поведение?

1 ответ

Решение

Любое решение, которое включает использование файла "hosts", не является решением. Вдвойне, в данном случае, потому что это сломает домен DFS. Весьма вероятно, что ваши групповые политики не применяются должным образом на компьютерах, где вы совершили этот "взлом". Проверьте один из их журналов событий приложений, чтобы увидеть. Если вы когда-нибудь надеетесь использовать доменные корни DFS, это также исключит эту опцию. Это не долгосрочная жизнеспособная стратегия. (Если вам не "очевидно", что он "сломан", вероятно, вы не используете групповую политику или доменную DFS в какой-либо степени.)

Эта "проблема" стала источником оживленных и оживленных религиозных дебатов о сбое сервера.

Я бы сказал, что кто-то, вопреки рекомендациям Microsoft, неправильно назвал ваш домен Active Directory. Домен Active Directory должен иметь имя:

  • Третий уровень (или более глубокий) поддомен имени интернет-домена, которым вы управляете
  • Субдомен второго уровня имени интернет-домена, которым вы управляете, но не используете для внешних интернет-ресурсов

Ваш домен AD должен иметь глобально уникальное, не однокомпонентное имя (то есть "в нем хотя бы одна точка"), которое вы контролируете и которое не назначено никаким доступным из Интернета ресурсам.

".Local" TLD - плохая идея, потому что это может вызвать проблемы с протоколом ZeroConf. Не используйте это.

Вы можете сделать глупый хак, который я видел в некоторых безнадежных ситуациях, когда вы запускаете IIS на каждом компьютере контроллера домена, отправляя перенаправления на http://www.domain.com имя при запросе клиентов http://domain.com, Это ужасно, но это будет делать то, что вы хотите.

Если вы в состоянии сделать это, я бы рассмотрел вопрос о переименовании домена Active Directory. Это звучит резко, но это устранит эту головную боль в будущем.

Другие вопросы по тегам