我们的网站在外部托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域应该命名为:
您的AD域应该有一个全球唯一的非单一标签(即“至less有一个点”)名称,您控制的名称不会分配给任何可通过互联网访问的资源。
“.local”TLD是一个坏主意,因为它可能会导致ZeroConf协议出现问题。 不要使用它。
你可以做一些愚蠢的黑客,我曾经在一些绝望的情况下看到,当你在客户端请求http://domain.com时候,你在每个域控制器计算机上发送redirect到http://www.domain.com名字的IIS。 这很可怕,但它会做你想做的。
如果你有能力做到这一点,我会考虑重新命名Active Directory域。 听起来很激烈,但它会消除这种头痛的道路。