amazon-web-services - 在 AWS 负载均衡环境中使用经典 ASP session 变量是否有技巧?

标签 amazon-web-services vbscript asp-classic session-variables amazon-elb

我有一个运行旧版 ASP 网站的 AWS、负载均衡 EC2 环境。应用程序使用 session 变量来管理用户登录状态。

问题是,当环境扩展到 2 个或更多实例时,它并不总是有效。它时好时坏,有时变量在声明后并不存在。对于这种环境,我是否缺少一些东西?

当只有一个 EC2 实例时。没事。更多,并且 session 变量并不总是建立。

Session("loggedin")=true

最佳答案

如果您“正在处理”存储用户 session ,这意味着它存储在运行应用程序的服务器的内存中,则需要在负载均衡器上启用“粘性 session ”,以便每个用户都绑定(bind)到该特定服务器。否则,您会遇到这样的问题:负载均衡器将流量发送到另一台服务器,该服务器可能有也可能没有您正在查找的 session 数据。 (这是一个坏主意,所以不要这样做,但这会解决您的问题)

由于粘性 session 无法正确扩展,处理 session 的正确方法是使用单独的服务或数据存储来处理用户 session 数据。例如,您可以将用户 session 存储在 Elasticache 或 DynamoDB 中,因此 session 将在 EC2 实异常(exception)部读取,并且您可以继续添加(或删除)新的 EC2 实例,不会出现任何问题。您还可以使用数据库服务器来处理 session 信息。关键是不要在实际的 EC2 实例上处理 session 数据。

看看这个:Using DynamoDB with Session

关于amazon-web-services - 在 AWS 负载均衡环境中使用经典 ASP session 变量是否有技巧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55814503/

相关文章:

php - 从亚马逊获取并存储 ISBN 信息

amazon-web-services - AWS API Gateway - Lambda - 内部服务器错误

sql-server - VBS第三方程序(如SQL)中的错误处理

xml - 尝试在 VBScript 中使用 XPATH 解析 XML 时获取空值

asp-classic - jQuery-文件上传经典-ASP

python - 用于列出超参数的 Sagemaker API

postgresql - AWS 安全组错误

vbscript - 如何在 VBScript 脚本中断言?

php - session 集成,这种方法安全吗?

asp-classic - 无法将 Crystal Report 导出到 Excel 或 Word