我们在多个子域中有几个Web应用程序,app1.company.com,app2.company.com。此外,我们有多个环境,prod,staging,dev1,dev2
每个环境的所有服务都使用应用程序名称末尾的-ENV来区别于其他服务。例如
除了我们想要开始在环境中共享cookie之外,这不是问题。这意味着cookie必须将其域名设置为.company.com。哪会破坏我们的沙盒。另一种方法是将环境添加到cookie名称前面,但这看起来像是一个kludge,并没有提供真正的安全性。
所以问题是人们如何设置他们的prod,staging和dev环境,以便cookie相互沙盒化。
答案 0 :(得分:3)
使用不同的域名。您已经正确地指出将cookie域设置为'company.com'将在所有域上共享它们而不仅仅是一些域。
您可以更改代码以设置/侦听不同环境中的不同Cookie,但如果您的请求中包含大量虚假Cookie,则仍可能使调试/诊断变得困难。
因此请使用不同的域名:
app1.company.com cookiedomain=.company.com
app2.company.com
app1.staging-company.com cookiedomain=.staging-company.com
app2.staging-company.com
app1.dev-company.com cookiedomain=.dev-company.com
app2.dev-company.com
设置其他域很容易,您可能需要额外的SSL证书费用,但通常不会很重要。 '。'在cookie中设置的域名之前很重要。