我的公共网站名称和AD域名是一样的。 我怎样才能从我的networking到我的外部网站?

我在我的公司使用我的example.org 。 我可以使用www.example.org来查看我的网站。 如果我从公司外部尝试http://example.org ,没有任何问题,但如果我从内部尝试,我的Windows DNS服务器会传递域控制器的IP地址。

我该如何解决这个问题? 我可以阻止我的域名注册在我的域名为example.org ,这会成为我的环境问题吗?

如果你已经命名你的Active Directory example.org那么你不能阻止这个。 你已经违反Microsft命名AD的最佳实践,你看到了其中一个症状。

你有几个select:

  1. 迁移到正确命名的AD。 像corp.example.org

  2. 在每个DC上安装Web服务器,并将其configuration为将example.org Web请求转发到www.example.org 。 这是肮脏的,不应该做,但它是一个选项。

  3. 训练您的用户在内部访问www.example.org

我已经多次公布了关于AD命名最佳实践的链接,并链接到官方微软源代码。 你应该阅读它们:

http://www.mdmarra.com/2013/04/best-practices-for-configuring-new.html http://www.mdmarra.com/2012/11/why-you-shouldnt-use-local-in -hour.html http://www.mdmarra.com/2013/07/more-documentation-from-microsoft-about.html

如果你想要短版本:

不要使用与外部DNS名称相同的名称创build新的Active Directory林。 例如,如果您的Internet DNS URL是http://contoso.com ,则必须为内部林select一个不同的名称以避免将来的兼容性问题。 这个名称应该是唯一的,不可能用于networkingstream量。 例如:corp.contoso.com。

http://technet.microsoft.com/en-us/library/jj574166.aspx

如果您在DC上运行Exchange,请勿设置PortProxy – 这可能会不用说,但会破坏托pipe在端口80上的Exchange服务。

我意识到这篇文章是相当古老的,但你仍然可以做到这一点,没有在DC上安装IIS。 在每个DC上,运行以下命令将portproxy端口80连接到外部Web服务器。

 netsh interface portproxy add v4tov4 listenport=80 listenaddress={Static IP v4 address of DC) connectport=80 connectaddress={IP Address of public Web Server} 

所以,我不知道这是否会阻止其他人,但是对于这个问题的最佳解决scheme可能只是获得具有不同后缀的二级域名,尤其是如果由于Exchange位于DC而无法使用PortProxy(或者由于主机头问题与您的networking主机。)

例如:如果内部AD域是EXAMPLE.com ,那么您应该简单地购买EXAMPLE.NET供内部使用。

这是内部networking访问最便宜和最简单的解决方法。

这对我们有效。

您可以通过两种方式解决您的问题,但是需要在您的DC上放置一个HTTP服务器:

您可以使用URLredirect(HTTP 301代码)进行redirect,IIS 7可以为您执行此操作,也可以安装反向代理(Apache for Windows)并使用以下代码:

ProxyPass / http://www.example.com/

ProxyPassRever / http://www.example.com/

ProxyPreserveHost打开