众所周知,IE不喜欢对在DNS中注册为CNAME的主机执行Kerberos操作。 会发生什么事是IE转身,并使用主机的底层Alogging查找服务主体名称(SPN)。
在testingnetworking上,我们可以通过为主机的Alogging注册SPN来获得Kerberos的工作,以便在通过浏览器中的CNAME访问Web服务器时成功发生Kerberos身份validation。 使用URL中的Alogging主机直接访问Web服务器时,Kerberos身份validation正常工作,但由于各种原因,我无法控制,因此需要使用CNAME。
在生产networking上,这个相同的configuration失败,但我不明白为什么。 有什么想法吗?
这是一个使用SPNEGO库的java web应用程序 – 而不是IIS。 Kerberos身份validation在testingnetworking和生产networking中都可以正常工作(并且已经确认不会故障回到NTLM),但是CNAME访问只能在testing中使用。
看起来关键的区别在于,在testing环境中,CNAME被注册在与Alogging相同的域中(例如,host.example.com是Alogging,而alias.example.com是CNAME)。
在生产环境中,CNAME 用于以前使用的域,但不再是首选域,这是Alogging的位置(例如,prodhost.example.com是Alogging,prodalias.example.net是CNAME)。
假设example.net DNS区域(连同example.com DNS区域)绑定到Active Directory中的example.com域,但是我们还没有能够确认这个configuration。 当然Internet Explorer似乎并不相信它们是相关的,这就是为什么它甚至不尝试执行Kerberos身份validation。
任何人都有这个指针/想法?