我无法在浏览器中设置 cookie。当我将 www 添加到 cookie 域时会发生这种情况,但无法弄清楚原因。
问题描述
我们有一个域mycompany.com
,一个运行在下面的应用程序mycompany.com
和另一个应用程序subdomain.mycompany.com
。他们每个人都有自己的 cookie、secure 和 httpOnly。我们不希望在域之间共享此 cookie。我们将 cookie 的域mycompany.com
设置为.mycompany.com
. 这样做的问题是它泄漏到subdomain.mycompany.com
,所以为了避免它,我将域更改为www.mycompany.com
. 在我们的 apache 配置中,我们将所有请求重定向到mycompany.com
to www.mycompany.com
,所有流量都重定向到 https。
因此,当我去mycompany.com
或www.mycompany.com
我最终进入时www.mycompany.com
,域和 cookie 域匹配,这应该有效,但它没有。的 cookiemycompany.com
不在本地存储中(Chrome 和 Firefox)。(我也尝试过使用mycompany.com
cookie 域,但正如预期的那样,cookie 泄漏到subdomain.mycompany.com
我使用的时候.mycompany.com
)
这是服务器发回的 cookie:
my_cookie=xxxxxxxxxxxxxx;Version=1;Comment=;Domain=www.mycompany.com;Path=/;Max-Age=604800000;Secure;HttpOnly;Expires=Fri, 26 Aug 2016 09:32:40 GMT
读到这个,我认为问题可能出在重定向上,但无论我去mycompamy.com
还是,都会发生这种情况www.mycompany.com
。
我究竟做错了什么?
PS:cookie 不是由运行在 mycompany.com 下的应用程序生成的,而是由运行在 下的另一个进程生成的,services.mycompany.com
客户端将请求发送到该进程以获取 cookie。也许这可能是问题所在。