我们的网站托管在外部,不在我们的网络内。规范 URL 是故意缺少 www,并将所有包含 www 的请求 301 重定向到规范 URL。到目前为止一切顺利。
问题在于从我们的 LAN 内部提供对网站的访问。理论上,答案很简单:在 DNS 中添加一条主机记录,将 foobarco.org 指向外部网络主机。(例如 foobarco.org --> 203.0.113.7)
但是,我们的活动目录域与我们的公共网站 (foobarco.org) 相同,并且 AD 似乎会定期在与我们的域控制器对应的域根中自动创建主机 (A) 记录。这会导致明显的问题:尝试访问网站的 LAN 用户会解析域控制器。
作为一种权宜之计,我们使用客户端上的 hosts 文件覆盖 DNS,但这是一种扩展性不佳的快速破解方法。
主机文件黑客攻击没有破坏任何明显的东西,所以我怀疑这种行为对于 AD 操作是否必不可少,但我还没有找到禁用它的方法。
是否有可能覆盖此行为?
答案1
任何涉及使用“hosts”文件的解决方案都不是解决方案。在这种情况下,情况尤其如此,因为它会破坏域 DFS。您的组策略很可能没有正确应用于您进行此“黑客攻击”的计算机上。检查其中一个应用程序事件日志以查看。如果您希望使用域 DFS 根目录,这也会排除该选项。这不是一个长期可行的策略。(如果您没有“明显”地发现它“破坏”了任何东西,则很可能您没有使用组策略或域 DFS。)
这一“问题”已经成为一些精神抖擞充满活力宗教听起来辩论服务器故障。
我认为有人反对Microsoft 推荐的最佳实践,错误地命名了您的 Active Directory 域。Active Directory 域应被命名为:
- 您控制的互联网域名的第三级(或更深层)子域名
- 您控制的互联网域名的二级子域名,但不用于任何外部可访问的互联网资源
您的 AD 域应该具有一个全局唯一的、非单标签(即“其中至少有一个点”)的名称,该名称由您控制,未分配给任何可 Internet 访问的资源。
“.local” TLD 不是一个好主意,因为它可能导致 ZeroConf 协议出现问题。不要使用它。
http://www.domain.com
您可以执行我在一些绝望的情况下见过的愚蠢的黑客攻击,即在每台域控制器计算机上运行 IIS ,当客户端请求时向名称发送重定向http://domain.com
。这很可怕,但它会做你想做的事。
如果您有能力这样做,我会考虑重命名 Active Directory 域。这听起来很激进,但它会消除以后的麻烦。