У меня такая ситуация:
Веб-сервер, который находится в интрасети нашей компании, имеет адрес в частном диапазоне. Некоторые лицензионные ограничения не позволяют нам изменить частный адрес. Порт 443 становится общедоступным с помощью переадресации портов через общедоступный адрес на нашем шлюзе. Все идет нормально.
Внешне мы используем размещенный сервер Linux с Bind9 в качестве авторитетного сервера имен для домена mycorp.com. Этот сервер преобразует полное доменное имя нашего веб-сервера во внешний публичный адрес, поэтому:
superwebsite.mycorp.com -> 209.85.148.103 (извинения перед Google)
Внутри мы используем сервер Windows 2003 Active Directory в качестве DNS-сервера. Этот сервер является официальным для нашего домена интрасети и преобразует внутреннее полное доменное имя нашего сервера в частный адрес, поэтому:
superwebsite.mycorp.localdomain -> 192.168.1.25
Мы недавно приобрели коммерческий SSL-сертификат для superwebsite.mycorp.com, поэтому нам нужен наш внутренний сервер AD для преобразования общедоступного FQDN в частный адрес, поэтому:
superwebsite.mycorp.com -> 192.168.1.25
Мы также хотели бы обслуживать репозитории Subversion с этого сервера, поэтому важно, чтобы внешний URL был таким же, как и внутренний, иначе у разработчиков возникнут проблемы с их рабочими областями ...
Как я могу сказать Active Directory разрешить это одно конкретное полное доменное имя в частный адрес? Очевидно, что я не могу создать зону superwebsite.mycorp.com внутри интрасети: это приведет к тому, что сервер AD DNS будет считать себя авторитетным и игнорировать настоящий авторитетный сервер вне интрасети.
Я не могу создать зону superwebsite.mycorp.com внутри интрасети: это приведет к тому, что сервер AD DNS будет считать себя авторитетным и игнорировать настоящий авторитетный сервер за пределами интрасети.
Вы можете, и это единственный способ получить то, что хотите. У меня были подобные настройки в прошлом, и как бы грязно это ни было, вы почувствуете, что у меня никогда не было проблем с этим.
Ключ состоит в том, чтобы создать зону, имя которой соответствует FQDN, superwebsite.mycorp.com, а не для mycorp.com в целом. Затем создайте новую запись A в зоне с соответствующим IP.
Единственный раз, когда это представляет проблему:
Ты на самом деле жестяная банка создать запись в зоне без определения этой зоны на вашем DNS-сервере; ключ рассматривает эту запись как зону нижнего уровня:
Пустая запись будет соответствовать зоне, в которой она находится, поэтому она будет соответствовать запросам для "superwebsite.mycorp.com"; ваш DNS-сервер будет рассматривать его как зону, но на самом деле он будет вести себя как стандартная запись A.