我是一个大型组织的Web开发人员,我们的网站由我们的IT部门托pipe。 我们的网站不会在没有“www”子域的情况下加载,而IT则表示这是因为Active Directory必须使用主域名,因此Web服务器必须使用子域名。 他们说这是不可能解决的。 我非常怀疑这个说法,因为这个问题在其他任何地方都没有问题,但我对这个技术还不够熟悉。
所以我的问题是,这听起来合理吗? 是不是可以在与Web服务器相同的域上使用AD? 谢谢!
在每个Active Directory环境中,域名在DNS中映射到所有活动域控制器; 每个DC有一个Alogging,将域名映射到DC的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
现在,如果您添加一个Web服务器,则需要添加另一个Alogging:
www.domain.com 192.168.0.10
除非您的机器实际上被称为www ,否则可能会更好地处理服务器的真实姓名的Alogging和网站名称的CNAMElogging:
webserver.domain.com 192.168.0.10 www.domain.com webserver.domain.com.
好吧,一切都很好, 但是现在您希望用户在其Web浏览器中键入domain.com并访问Web服务器。 但是,这不可能工作:域名已经指向所有DC,并且必须这样做才能使Active Directory正常工作。 如果有人试图在networking浏览器中访问domain.com ,浏览器将尝试连接到一个随机的域控制器,(希望!)甚至没有运行Web服务器; 即使它安装了IIS,它也不会是你的真正的 Web服务器。
如果你确实需要能够使用你的AD域名来访问你的网站,那么这种情况是非常丑陋的。 我强烈build议不要使用它 ,但这里是:您可以在所有域控制器上安装IIS,并将其configuration为将传入的请求redirect到www.domain.com ; 当用户在Web浏览器中键入domain.com时,请求将会到达随机DC; 运行在该DC上的IIS会将用户redirect到www.domain.com 。 再说一次:如果可能,请避免使用此解决scheme,因为在域控制器上运行IIS是非常糟糕的做法,即使它仅用于在其他位置redirect请求。
难道真正的问题是你的AD域名和你的网站域名一样吗?! 谁做出这个决定是摆脱他们的摇杆。