我已将以下问题发送到 stackoverflow 网站
我在虚拟机上安装了 Windows Server 2008 R2,我可以在同一台机器上安装带有域控制器 + IIS + SQL 服务器的 Active Directory 吗?我想制作 Web 应用程序,该 Web 应用程序将对来自 Active Directory 的用户进行身份验证,Web 应用程序应在服务器 IIS 上发布,用户应使用我的机器的域名从家中远程访问它,有人告诉我,在同一台机器上安装 IIS 和 Active Directory 是非常错误的
我得到了以下答案
您无法通过互联网使用 ActiveDirectory。至少在没有 VPN 之类的中间人的情况下无法使用。他们的家用计算机不会加入域,因此不存在直通身份验证。
是的,将 AD 放在 Web 服务器上是个坏主意。原因太复杂,无法在这里回答。可以说,即使你这样做了,它也可能不会像你想象的那样工作。
这并非不可能。例如,许多 Microsoft“小型企业”产品将 IIS、AD 和 SQL Server 放在同一台服务器上。但是,您必须知道如何安全地配置它。
然后我添加以下评论
感谢您的回复。您认为最好的方法是什么?因为我之前没有做过类似的事情,我应该在一台机器上安装 Active Directory,在另一台机器上安装 IIS 吗?那么 SQL 呢?我应该将它添加到 Active Directory 的同一台服务器吗?我还没有提到 Microsoft Dynamics 服务器将访问一些有关工作的信息,而且我还必须从 Axapta 读取数据?此外,什么是 VPN,我如何使用它让用户在任何地方访问我的 Web 应用程序?抱歉我的问题很长,提前谢谢您
所以如果有人能帮忙我会很感激
答案1
对方误解了您的问题。您当然可以使用 Active Directory 来验证访问网站的公共互联网用户的身份。您不能使用自动 Windows 身份验证,其中 Active Directory 会根据您本地计算机上的用户帐户自动验证您的身份,但您可以在网站上提供一个用户名和密码框,它将根据 Active Directory 域检查输入的值并查找正确的组成员身份等内容。
将组织的 Active Directory 域放在公共 Web 服务器上并不是一个好主意。这不仅出于安全原因,而且也是为了防止拒绝服务攻击,在这种情况下,对 Web 服务器的攻击可能会阻止用户在本地计算机上工作,因为 AD 也不可用。但没有任何技术原因会让它不起作用。如果对 Web 用户进行身份验证是唯一目的这个 Active Directory 域,您当然可以毫无顾虑地做到这一点。但是,如果这真的是唯一的目的,您最好使用类似动态语言指令(轻量级目录服务:想想 Active Directory Lite)。
Sql Server 与 Active Directory 类似。这并不总是一个好主意,但从技术上讲它可以工作。您至少可以这样开始,然后在需要时将 Sql Server 移动到其他主机。