如何在JSP中为子域正确设置cookie?

时间:2018-06-21 10:58:41

标签: jsp servlets cookies

我有以下设置:

  • 所有请求均为https(在下面的描述中,我将省略它)
  • 3个docker服务器:localhost:8090,localhost:8091,localhost:8092
  • 在主机上(在Windows机器上),我有3个域:loc.localdomain,loc2.localdomain和loc3.localdomain都指向我的IP地址
  • 所以我将在我的应用程序中使用localhost:8090-> loc.localdomain,localhost:8091-> loc2.localdomain和localhost:8092-> loc3.localdomain

现在,我在loc上有一个应用程序,它为loc3子域设置了一些cookie。我看到Cookie是在chrome网络响应中设置的(或应该设置的)。

Set-Cookie: MY_COOKIE=YUMM; domain=loc3.localdomain; 
expires=Fri, 21-Jun-2019 10:48:58 GMT; path=/coolApp/bro

然后在loc的应用程序中,我有一个按钮,可以将用户发送到loc2的另一个应用程序中,该用户将用户重定向到loc3的{​​{1}}。因此,在这个时间点上,我应该在loc3.localdomain:8092/coolApp/bro/something/more的应用程序请求中看到cookie,但是我没有看到。

Cookie设置:

loc3

您知道此设置有什么问题吗?

1 个答案:

答案 0 :(得分:3)

基于此(https://curl.haxx.se/rfc/cookie_spec.html),该域应至少包含2个点,因此答案是对本地主机使用其他别名来模拟我的子域。类似于:*.example.com

更改域后,所有功能均按预期工作。