我正在使用IIS 7在Windows身份validation下build立一个网站。 我看到身份validation问题,我几乎可以肯定,这是有关Kerberos问题,我错误地设置SPN。 我正在使用的场景如下。
我创build了一个新的testing域(FQDN,其中调用为“ test.net ”)由域控制器(让我们称之为'testingDC')。 在这个新的域名(testing)下,我托pipe了一个IIS服务器,它使用Kerberos委托使用Windows身份validation。 我启用了Windows身份validation启用而其他禁用IISpipe理器中。 假设这个IIS机器名是'test-iis',活动目录把它的用户名作为'user-iis'作为IIS服务器。 IIS服务器中的应用程序池在服务帐户下运行为“TEST \ user-iis”。 我正在尝试为HTTP服务types设置SPN。
第一个问题:我正在设置SPN
setspn -a http/test-iis.test.net
这个SPN设置是否正确?
我的第二个问题是。 我在域控制器中设置此SPN值思维DC是将validation凭据和所有的实体。 我的想法是对的吗?
有关这个问题的任何build议将是对我和其他人很有帮助。
谢谢..
[编辑]还有一件事,我能够从IIS服务器ping到同一域中的另外两台机器,但我无法用其他两台机器ping IIS服务器。 谁能帮我理解为什么是这样?
由于您以TEST \ user-iis身份运行应用程序池,因此必须将SPN应用于该帐户。 一般认为,你还应该在主机的简称中join另一个SPN。
setspn -a http/test-iis.test.net TEST\user-iis setspn -a http/test-iis TEST\user-iis
只是为了澄清,所有setspn正在使用这些命令正在修改该用户帐户的“servicePrincipalName”属性。 如果打开属性对话框并转到“属性”选项卡,可以向下滚动到servicePrincipalName,打开它并查看所做的更改。
关于您的ping问题,请检查IIS框上的Windows防火墙。 ICMP默认情况下不启用。
当使用setspn命令时,不要忘记IWAM帐户,如下所示:
setspn -a http / test-iis.test.net Domain_name \ IWAM_ACCOUNT
注意:
IWAM_ACCOUNT是用于运行您正在使用的应用程序池的帐户。 (必须是域级帐户) 关于你的第二个问题,你是正确的,在Active Directory中进行更改…但是setspn命令可以在域中的任何服务器上运行。