我们有一个托管在Microsoft Azure云服务中的Web应用程序。我们在每个环境中都有多个实例,一切都很好。
我正在将此应用程序从云服务迁移到Azure VM。应用程序在多个VM实例之间进行负载平衡。
我有一个以前从未遇到的奇怪问题:基本上 - 我一次只能登录一个实例。
例如,如果我在一个实例上登录我的应用程序,然后导航到另一个实例,那么我将不会登录。但是如果我导航回第一个实例,那么我将登录。另外 - 如果我然后导航到第二个实例(我没有登录的那个),然后登录,那么我将登录到第二个实例,但将从第一个实例注销。
我在web.config中定义了一个机器密钥。
我正在使用分布式会话提供程序(Redis)。
我的问题类似于:asp.net forms authentication logged out when logged into another instance(从某种意义上说症状是相同的),但由于这是一个多实例网站,我实际上使用相同的域来访问实例,并且所以这个问题提供的答案是不相关的。
以下是每个实例及其Cookie的屏幕截图:
(我意外地从登录的图片中修剪了SessionID,但它们在两个实例上都相同)
我完全难过了。有没有人有任何想法?
答案 0 :(得分:0)
男孩我感到愚蠢。事实证明我有一个配置转换,正在将机器密钥值更改为AutoGenerate
。
我们使用Octopus Deploy,因此很少使用转换文件。我认为这是让我失望的原因。