在活动目录环境中提供对no-www网站的访问

我们的网站在外部托pipe,离开我们的networking。 规范URL是一个故意缺lesswww ,并将301redirect任何包含www的请求到规范的URL。 到现在为止还挺好。

问题是从我们的局域网内提供对网站的访问。 理论上,答案很简单:在DNS中添加主机loggingfoobarco.org到外部虚拟主机。 (如foobarco.org – > 203.0.113.7)

但是,我们的活动目录域与我们的公共网站(foobarco.org)是一样的,AD似乎会定期自动创build与我们的域控制器相对应的域根目录中的主机(A)logging。 这会导致显而易见的问题:LAN上的用户试图访问网站,而是parsing域控制器。

作为一种权宜之计,我们正在使用客户端上的主机文件来覆盖DNS,但是这是一种快速的黑客攻击,无法很好地扩展。

hosts-file hack并没有破坏任何明显的东西,所以我怀疑这种行为对于AD操作是必不可less的,但我还没有find一种方法来禁用它。

是否有可能重写这种行为?

涉及使用“主机”文件的任何解决scheme都不是解决scheme。 这样,在这种情况下,因为它会破坏域DFS。 您的组策略很可能不适用于您已经完成此“黑客行为”的计算机。 选中其中一个应用程序事件日志以查看。 如果你曾经希望使用域DFS的根,这也将排除这个选项。 这不是一个长期可行的策略。 (如果对您来说不是“显而易见的”,说明您的系统可能没有在任何程度上使用组策略或域DFS)。

这个“问题”一直是服务器故障的一些热烈而热烈的宗教 辩论的来源。

我认为,根据微软推荐的最佳做法 ,有人会错误地命名您的Active Directory域。 Active Directory域应该命名为:

  • 您所控制的互联网域名的第三层(或更深层)子域
  • 您控制的Internet域名的二级子域,但不用于任何可从外部访问的Internet资源

您的AD域应该有一个全球唯一的非单一标签(即“至less有一个点”)名称,您控制的名称不会分配给任何可通过互联网访问的资源。

“.local”TLD是一个坏主意,因为它可能会导致ZeroConf协议出现问题。 不要使用它。

你可以做一些愚蠢的黑客,我曾经在一些绝望的情况下看到,当你在客户端请求http://domain.com时候,你在每个域控制器计算机上发送redirect到http://www.domain.com名字的IIS。 这很可怕,但它会做你想做的。

如果你有能力做到这一点,我会考虑重新命名Active Directory域。 听起来很激烈,但它会消除这种头痛的道路。