在 context.xml 个问题中设置同一个站点
Setting samesite in context.xml questions
我们遇到了 Chrome 问题,Edge 在 iframe 中 运行 时无法正确呈现我们的 Java/JSP 网站。 Firefox 和 IE 正常工作。
我们的研究表明,这是因为 JSESSIONID cookie 需要将 SameSite 属性设置为 NONE。
通过对 context.xml 进行以下更改,我们能够在本地主机环境中将 JSESSIONID cookie 上的 SameSite 属性设置为 NONE:
<?xml version='1.0' encoding='utf-8'?>
<Context>
<CookieProcessor sameSiteCookies="none"/>
</Context>
但是,当我们尝试在我们的测试环境中进行测试时,它仍然不起作用。我们的 JSESSIONID cookie 上的 SameSite 属性未设置为 NONE.
在我们的测试环境中,我们有以下 context.xml 个文件:
/opt/apache-tomcat/apache-tomcat-7.0.30/conf/context.xml
/opt/apache-tomcat/apache-tomcat-7.0.30/instances/appA/conf/context.xml
/opt/apache-tomcat/apache-tomcat-8.5.31/conf/context.xml
/opt/apache-tomcat/apache-tomcat-8.5.31/instances/AppB/conf/context.xml
/opt/apache-tomcat/apache-tomcat-9.0.21/conf/context.xml
/opt/apache-tomcat/apache-tomcat-9.0.21/instances/AppC/conf/context.xml
/opt/apache-tomcat/apache-tomcat-9.0.21/instances/OurApplication/conf/context.xml <== Has samesitecookie="none"
/opt/apache-tomcat/apache-tomcat-9.0.21/instances/OurApplication/webapps/OurApplication/META-INF/context.xml <== Has samesitecookie="none"
我们在上述 2 个 context.xml 文件中有 sameSiteCookies="none"。我想知道它是否正在从另一个读取 CookieProcessor。有没有办法查看您在 Java 中使用的 context.xml 实例?
将 same-site
cookie 属性设置为 None
是 introduced in Tomcat 9.0.28, but you are using 9.0.21 which does not support None
. It was back-ported in Tomcat 8.5.48,但您使用的是 8.5.31,它也不支持它。
因此您必须更新您的 tomcat 版本。
我们遇到了 Chrome 问题,Edge 在 iframe 中 运行 时无法正确呈现我们的 Java/JSP 网站。 Firefox 和 IE 正常工作。
我们的研究表明,这是因为 JSESSIONID cookie 需要将 SameSite 属性设置为 NONE。
通过对 context.xml 进行以下更改,我们能够在本地主机环境中将 JSESSIONID cookie 上的 SameSite 属性设置为 NONE:
<?xml version='1.0' encoding='utf-8'?>
<Context>
<CookieProcessor sameSiteCookies="none"/>
</Context>
但是,当我们尝试在我们的测试环境中进行测试时,它仍然不起作用。我们的 JSESSIONID cookie 上的 SameSite 属性未设置为 NONE.
在我们的测试环境中,我们有以下 context.xml 个文件:
/opt/apache-tomcat/apache-tomcat-7.0.30/conf/context.xml
/opt/apache-tomcat/apache-tomcat-7.0.30/instances/appA/conf/context.xml
/opt/apache-tomcat/apache-tomcat-8.5.31/conf/context.xml
/opt/apache-tomcat/apache-tomcat-8.5.31/instances/AppB/conf/context.xml
/opt/apache-tomcat/apache-tomcat-9.0.21/conf/context.xml
/opt/apache-tomcat/apache-tomcat-9.0.21/instances/AppC/conf/context.xml
/opt/apache-tomcat/apache-tomcat-9.0.21/instances/OurApplication/conf/context.xml <== Has samesitecookie="none"
/opt/apache-tomcat/apache-tomcat-9.0.21/instances/OurApplication/webapps/OurApplication/META-INF/context.xml <== Has samesitecookie="none"
我们在上述 2 个 context.xml 文件中有 sameSiteCookies="none"。我想知道它是否正在从另一个读取 CookieProcessor。有没有办法查看您在 Java 中使用的 context.xml 实例?
将 same-site
cookie 属性设置为 None
是 introduced in Tomcat 9.0.28, but you are using 9.0.21 which does not support None
. It was back-ported in Tomcat 8.5.48,但您使用的是 8.5.31,它也不支持它。
因此您必须更新您的 tomcat 版本。