我正在为我计划从专用主机服务迁移到AWS的Web应用程序configurationtestingAWS架构。 我现在拥有如下:
新的EC2实例将通过自定义图像与代码和RDS连接参数一起启动,我正在圣保罗地区工作。
除了一件事以外,一切正常。 如果我通过ELB DNSlogging访问网站,那么我可以在那里看到该网站,但是我无法login。当我放置用户凭证时,没有任何反应。 (该网站基本上是一个pipe理面板,所以我必须login才能看到他们的内容),但是如果我通过一个单独的实例IP或DNSlogging访问,我可以login并正常使用应用程序。 用户数据(用户和密码)存储在RDS中。
如果有人经历过类似的事情,我真的很感激你的帮助。 先谢谢你!
维护会话的通常方式是:
会话cookie通常将从独立于Web服务器的位置存储和检索,例如独立的数据库服务器。 这样,不pipe他们打哪个Web服务器,他们都会得到相同的cookie和相同的会话。
会话cookie需要对客户端安全且唯一,所以一些应用程序将在计算中创build包含客户端IP的散列。 如果是这种情况,那么不同的IP就像是一个不同的会话。
你需要检查你的应用程序,看看是否是这种情况。
或者,如果实际需要将会话与特定服务器绑定(例如,应用程序在Web服务器上本地存储状态),则可以使用ELB粘滞会话将会话与特定的Web服务器绑定。 这应该只有当你的应用程序实际上在每个Web服务器上本地存储状态时才需要。
当您尝试通过ELB进行访问时,是否有任何访问日志或任何types的日志logging在您的应用程序? 如果不是这样,这更可能是ELB和EC2实例之间的IP转换问题。 可能是应用程序特定的,如; 你需要一个真正的客户端IP地址(如X-Forwarded-For头)? 也许,这是因为您在应用程序中使用的身份validation逻辑。