Я использую свой домен example.org
в моей фирме. я могу использовать www.example.org
для просмотра моего веб-сайта. Если я попробую http://example.org
из-за пределов моей фирмы проблем нет, но если я попробую изнутри, мои DNS-серверы Windows доставляют IP-адреса контроллеров домена.
Как я могу это решить? Могу ли я запретить моим DC регистрироваться как example.org
в моем DNS, и будет ли это проблемой для моей среды?
Если вы назвали свою Active Directory example.org
тогда вы не сможете этого предотвратить. Вы пошли против лучших практик Microsft для наименования AD и видите один из симптомов.
У вас есть несколько вариантов:
Выполните переход на AD с правильным именем. Что-то вроде corp.example.org
.
Установите веб-сервер на каждом контроллере домена и настройте его для пересылки веб-запросов для example.org
к www.example.org
. Это грязно и не следует делать, но, тем не менее, это вариант.
Обучите пользователей переходить на www.example.org
внутренне.
Я несколько раз писал в блоге о передовых методах именования AD и ссылаюсь на официальные источники Microsoft. Вы должны их прочитать:
http://www.mdmarra.com/2013/04/best-practices-for-configuring-new.html http://www.mdmarra.com/2012/11/why-you-shouldnt-use-local-in-your.html http://www.mdmarra.com/2013/07/more-documentation-from-microsoft-about.html
Если вам нужна короткая версия:
Не создавайте новые леса Active Directory с тем же именем, что и внешнее DNS-имя. Например, если ваш URL-адрес DNS-сервера http://contoso.com, вы должны выбрать другое имя для своего внутреннего леса, чтобы избежать проблем совместимости в будущем. Это имя должно быть уникальным и маловероятным для веб-трафика. Например: corp.contoso.com.
Если вы используете Exchange на контроллере домена, не настраивайте PortProxy - это может быть само собой разумеющимся, но это нарушит работу служб Exchange, размещенных на порту 80.
Я понимаю, что этот пост довольно старый, но вы все еще можете сделать это, не устанавливая IIS на DC. На каждом контроллере домена выполните следующую команду для порта прокси-сервера 80 на внешний веб-сервер.
netsh interface portproxy add v4tov4 listenport=80 listenaddress={Static IP v4 address of DC) connectport=80 connectaddress={IP Address of public Web Server}
Итак, я не знаю, уклонился ли это от кого-то еще, но лучшим решением этой проблемы может быть просто получение вторичного домена с другим суффиксом, особенно если вы не можете PortProxy из-за того, что Exchange находится на DC (или из-за проблем с заголовками хоста). с вашим веб-хостингом.)
пример: Если внутренний домен AD EXAMPLE.com - тогда просто купите ПРИМЕР.NET для внутреннего пользования.
Это самый дешевый и простой способ решения проблемы внутреннего доступа в Интернет.
У нас это сработало.
если вы хотите использовать URL-адрес в качестве домена, используйте имена компьютеров, такие как dc1.example.com и dc2.example.com для каждого сервера
убедитесь, что CNAME настроен для каждого сервера правильно для правильного IP-адреса сервера
Я смог сделать это, сначала сделав CNAME, а затем настроив серверы, подождав день, пока записи DNS распространятся
Вы можете решить свою проблему двумя способами, но это предполагает размещение HTTP-сервера на контроллерах домена:
Вы можете выполнить перенаправление с помощью перенаправления URL-адреса (код HTTP 301), IIS 7 может сделать это за вас, или вы можете установить обратный прокси-сервер (Apache для Windows) и использовать следующий код:
ProxyPass / http://www.example.com/
ProxyPassRever / http://www.example.com/
ProxyPreserveHost On