我有一个由nginx提供ssl(https)的网站。因此,http://example.com被nginx重定向到https://example.com。动态应用程序是Spring Boot Java应用程序,包含在具有嵌入式tomcat的自执行jar中。
对于每个唯一访问者,我都需要设置cookie来记住用户设置,以便他们在用户重新访问网站时与网站进行交互。这是创建新Cookie的Java代码:
Cookie cookie = new Cookie("_my_token", unique_token);
cookie.setHttpOnly(true);
// 10 year expiry
cookie.setMaxAge(60 * 60 * 24 * 365 * 10);
cookie.setPath("/");
if(this.activeProfile.equals("prod")) {
cookie.setSecure(true);
}
response.addCookie(cookie);
但是上述问题是来自example.com和www.example.com的同一位访问者会生成两个不同的Cookie。可能还有其他问题,因为我尚未完全测试。
我需要在Cookie上设置什么路径和域,以便来自www.example.com,example.com,foo.example.com,example.com / bar,example.com / bar /的同一位访问者foo或www.example.com/foo等可以被同一Cookie识别吗?该解决方案应适用于所有常见的浏览器类型,例如Chrome,IE,Firefox等。