Windows身份验证在AWS Application Load Balancer

问题描述

我有一个使用Windows身份验证的ASP .NET WCF服务网站。将Web服务部署到服务器(Windows Server 2012)并在IIS上启用Windows身份验证后,我使用直接访问服务器的本地主机访问该页面。它会提示您提供凭据,我一次提供了我的AD用户名/密码即可。

现在,如果我在AWS Application Load Balancer后面有同一台服务器,并且点击了映射到App Load Balancer的Web服务的DNS,则在此处发现了一个问题。

弹出窗口,用于输入Windows凭据。但是,当我输入正确的凭据时,并不需要它们。反复提示输入用户名/密码?发生了什么? ALB不支持IIS的AD集成身份验证吗?

有什么想法吗?

解决方法

由于登录问题以及与其他用户会话的连接,应用程序负载平衡器将无法工作。

Windows身份验证(Kerberos或NTLM后备)需要TCP连接保持相同的源端口以保持身份验证。您必须使用网络负载平衡器,而不是应用程序负载平衡器

无法通过第7层“应用程序”负载平衡器进行Windows身份验证。

,

AWS Application Load Balancer中的解决方案似乎有一种解决方法。您需要在ALB设置中启用粘性会话。我尝试了此操作,但现在没有弹出重复的Windows身份验证,提示您反复输入启用Windows身份验证的Web应用程序的用户名和密码。但是此快速修复可能对无状态应用程序无济于事。

,

在 ALB 上启用粘性会话确实允许 Windows 身份验证工作,但我们发现在某些情况下您最终可能会作为错误的用户进行身份验证。当多个用户同时登录时,我们会看到这种情况。提个醒。