我们在 IIS7(Server 2008 R2)中运行了一个 Web 应用程序。我现在需要使用 SSL 证书允许外部访问,以便某些用户(例如公司所有者)无需 VPN 即可远程使用它。他们希望首先只向那些特定用户推出外部访问(考虑:Windows 凭据提示),但每个人仍然需要内部访问(HTTP),而无需提示。
我在服务器上安装了 SSL 证书并配置了公共 DNS。我一直在尝试弄清楚如何进行身份验证/授权。我当时想我需要禁用匿名身份验证并设置 Windows 身份验证,然后在研究组设置时,我不断回到“URL 授权”;但是,当我尝试 URL 身份验证时(删除了允许所有,为特殊组添加了允许规则),它在内部破坏了网站(我相信是 403.2 禁止访问)。我想也许在 IIS 中设置指向同一程序的第二个网站会起作用,但发生了完全相同的事情(并且再次使用新的应用程序池,只是为了好玩)。
所以我想我的问题是,您将如何做到这一点:允许外部访问,仅限于特定 AD 组中的用户,同时仍然允许无需凭据提示的内部访问?
如何区分外部 HTTPS 和内部 HTTP 授权要求?我是否需要将 Windows 资源管理器中应用程序的全部内容复制到新文件夹并从中创建我的外部网站?Windows 身份验证是正确的选择吗?
我确实遇到过这种情况,它指的是创建自定义模块。虽然这听起来像是一个解决方案,但我并不熟悉,我只是想知道是否有更简单的方法来实现它:http://forums.iis.net/p/1182792/2000775.aspx
谢谢!
答案1
Windows 身份验证是正确的选项吗?
- 是的,听起来集成 Windows 身份验证适合您的要求。
- 如果配置正确,则不需要密码即可登录。
- 本质上,浏览器会将凭据传递给 IIS,但在尝试验证用户身份时,将作为最后的手段使用密码验证。
这应该能给你一个良好的开端了解 IIS 身份验证。
- 关于你之前的403.2问题,您可能需要检查与经过身份验证的用户相关的文件权限。
- 看一眼:传递身份验证
- 请记住,Windows 身份验证意味着客户端的 Windows 用户是经过身份验证的用户通过 到服务器。
要将 AD 中的特定组的访问限制为仅供外部访问:
- 结合IPv4 地址和域限制与授权规则。