Имя моего общедоступного веб-сайта и имя домена AD совпадают. Как я могу попасть на мой внешний сайт из моей сети?
Я использую свой домен example.org
в моей фирме. я могу использовать www.example.org
для просмотра моего сайта. Если я попробую http://example.org
со стороны моей фирмы проблем нет, но если я попробую это изнутри, мои DNS-серверы Windows доставляют IP-адреса контроллеров домена.
Как я могу решить это? Могу ли я предотвратить регистрацию своих контроллеров домена как example.org
в моем DNS и это будет проблемой для моей окружающей среды?
6 ответов
Если вы назвали свой 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 на контроллеры домена. На каждом контроллере домена выполните следующую команду, чтобы перенести порт 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 - тогда вам просто нужно купить EXAMPLE.NET для внутреннего использования.
Это самый дешевый и самый простой обходной путь для внутреннего веб-доступа.
Это сработало для нас.
Если вы хотите использовать URL-адрес в качестве домена, используйте имена компьютеров, такие как dc1.example.com и dc2.example.com для каждого сервера
убедитесь, что CNAME настроен для каждого сервера правильно для соответствующего IP-адреса сервера
Я смог сделать это, сначала создав CNAME, а затем настроив серверы, подождав день, пока записи DNS распространятся
Вы можете создать новый хост (A или AAAA) в настройках DNS и установить для него IP-адрес веб-сайта. например, во внутренней сети перейдите на сайт по адресу www2.example.org вместо www.example.org .
Вы можете решить вашу проблему двумя способами, но это предполагает размещение HTTP-сервера на ваших контроллерах домена:
Вы можете выполнить перенаправление с помощью перенаправления URL (код HTTP 301), IIS 7 может сделать это за вас, или вы можете установить обратный прокси-сервер (Apache для Windows) и использовать следующий код:
ProxyPass / http://www.example.com/
ProxyPassRever / http://www.example.com/
ProxyPreserveHost On