与PHP和AmazonAWSEC2的会话

与PHP和AmazonAWSEC2的会话,php,amazon-web-services,session,amazon-ec2,dns,Php,Amazon Web Services,Session,Amazon Ec2,Dns,我在AWS上运行一个网站,域名在Godaddy上注册。Godaddy域mydomainname.com指向我的AWS EC2实例的IP,该实例具有公共DNS EC2-x-xx-xxx-xxx.compute-1.amazonaws.com 我使用PHP编写服务器端代码,遇到了会话问题。当用户登录时,我设置了$_SESSION变量,但唯一的问题是,如果我在mydomainname.com登录,会话仅在此处设置,如果我在ec2-x-xx-xxx-xxx.compute-1.amazonaws.com

我在AWS上运行一个网站,域名在Godaddy上注册。Godaddy域mydomainname.com指向我的AWS EC2实例的IP,该实例具有公共DNS EC2-x-xx-xxx-xxx.compute-1.amazonaws.com

我使用PHP编写服务器端代码,遇到了会话问题。当用户登录时,我设置了$_SESSION变量,但唯一的问题是,如果我在mydomainname.com登录,会话仅在此处设置,如果我在ec2-x-xx-xxx-xxx.compute-1.amazonaws.com登录,会话仅在此处设置。我如何让会话在两个站点之间协调,而它们应该在同一个站点中


我是web开发的初学者,所以请友善:)

除了您之外,任何人(即使不是正常使用,也只是内部使用和调试)都不应该使用
ec2-x-xx-xxx-xxx.compute-1.amazonaws.com
。通过DNS(使用CNAME或Route53的别名记录)指向mydomainname.com,并让您的用户使用真实的域名。

除了您之外,任何人(即使不是正常使用,也只是内部使用和调试)都不应该使用
ec2-x-xx-xxx-xxx.compute-1.amazonaws.com
。通过DNS指向mydomainname.com(使用CNAME或Route53的别名记录),让您的用户使用真实的域名。

这行不通。会话要求客户端浏览器上的cookie随每个请求一起发送。这是服务器识别哪个会话与哪个传入请求相关的常用方法

浏览器将仅(几乎仅)将cookie发送回发出cookie的域。这意味着,当会话从“ec2-x-xx-xxx-xxx.compute-1.amazonaws.com”设置cookie时,浏览器不会将该cookie发送到“my domain.com”或任何其他域

此规则有一些例外情况和解决方法,单点登录是在域名之间传输某些状态信息的一个示例


如果您担心用户使用多个域访问您的网站,那么解决方案是将web服务器配置为将对备用主机的任何请求重定向到您希望在服务器上使用的主主机名。

这不起作用。会话要求客户端浏览器上的cookie随每个请求一起发送。这是服务器识别哪个会话与哪个传入请求相关的常用方法

浏览器将仅(几乎仅)将cookie发送回发出cookie的域。这意味着,当会话从“ec2-x-xx-xxx-xxx.compute-1.amazonaws.com”设置cookie时,浏览器不会将该cookie发送到“my domain.com”或任何其他域

此规则有一些例外情况和解决方法,单点登录是在域名之间传输某些状态信息的一个示例


如果您担心用户使用多个域访问您的网站,那么解决方案是配置web服务器,将对备用主机的任何请求重定向到您希望在服务器上使用的主主机名。

您不能。从安全角度来看,这是两个不同的网站。此外,您应该只使用您的域名,而不是AWS dns名称。您不能。从安全角度来看,这是两个不同的网站。此外,您应该只使用您的域名,而不是AWS dns名称。