我们已经努力了一段时间,我以为这将是一个相对常见的工作场景,并会很感激任何指点。
我们有 2 台 Windows 2012 服务器正在运行
- IIS 服务器
- SQL 服务器 2012
我们已设置 Kerberos 委派,并已从 IIS 服务器运行到 SQL Server。用户通过 IIS 进行身份验证,然后这些身份验证将传递到 SQL Server,以便使用委派执行任何操作
在 IIS 上设置 Negotiate(Kerberos 然后 NTLM)并在内部访问站点时,一切正常,但是当我们尝试将站点置于反向代理(Sonicwall SRA)后面时,它就会中断。
经过一些调查,似乎这是因为 Kerberos 身份验证在反向代理后面不起作用,所以我们需要切换到基本(因为 NTLM 不适用于 IIS 和 SQL 服务器之间的委派)。
那么在这种情况下最佳做法是使用 HTTPS 来保护基本身份验证,或者有没有办法让 Negotiate(kerberos)正常工作?
需要使用 Basic 确实看起来很奇怪,因为
- Kerberos 不能在反向代理后面使用,并且
- NTLM 不能用于委派
但或许事实就是如此。