我无法在浏览器中设置 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.comto www.mycompany.com,所有流量都重定向到 https。
因此,当我去mycompany.com或www.mycompany.com我最终进入时www.mycompany.com,域和 cookie 域匹配,这应该有效,但它没有。的 cookiemycompany.com不在本地存储中(Chrome 和 Firefox)。(我也尝试过使用mycompany.comcookie 域,但正如预期的那样,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。也许这可能是问题所在。