在具有 2 个 Web 服务器的 Azure Web 场上切换 Web 服务器时丢失会话数据。我如何与每台服务器共享密钥?
我们的网站在 Rackspace 上运行时运行得非常完美。后来我们迁移到 Azure,遇到了各种会话问题。我认为这是因为 Rackspace 配置了粘性会话,而 Azure 不支持它们。
我走的路对吗?如果对,有什么解决办法? - 长期 - 短期 - 立即
当前设置信息:两台服务器上的 web.config 中的 InProc 会话控制每个 Web 服务器均配备 IIS 8 Windows Server 2012 R2 VM(WEB1 和 WEB2)
如果您提供任何进一步的信息我们将非常感激。
答案1
您只需将云服务的负载平衡分配模式更改为源 IP(又名坚持会话)。您必须使用 powershell:
Set-AzureLoadBalancedEndpoint -ServiceName "MyService" -LBSetName "LBSet1" -Protocol tcp -LocalPort 80 -ProbeProtocolTCP -ProbePort 8080 –LoadBalancerDistribution "sourceIP"
详细参考:
http://azure.microsoft.com/blog/2014/10/30/azure-load-balancer-new-distribution-mode/
http://windowsitpro.com/azure/azure-load-balancer-stickiness-options
https://msdn.microsoft.com/en-us/library/azure/dn495126.aspx