我有一个在 Tomcat 6 上运行的应用程序,(从 Tomcat 的角度来看)没有任何身份验证。此外,它需要通过 SSL 运行。最后,其中一个页面允许您保存 Excel 文件。保存文件失败,并出现以下错误:这里:Pragma No-Cache 阻止保存文件,然后浏览器会抱怨连接丢失。这种情况发生在 IE 7 和 8 上;不会发生在 Firefox 或 IE 9 上(不幸的是,大多数用户使用的是 IE7)。
Tomcat 具有属性,disableProxyCaching
并且securePagesWithPragma
解决某些浏览器中的缓存问题然而,这些是各种验证阀的属性。
我的问题是,当有 SSL 但没有身份验证时,如何防止 Tomcat 添加 Pragma:no-cache 标头?
编辑:我尝试了 nonloginauthenticator 阀门 - 但似乎没有任何区别,而且我在 Tomcat 6 配置管理中也看不到它(尽管我在 API 中看到了它)
答案1
事实证明,F5 负载均衡器添加了 no-cache。一旦网络人员设置 iRule 不这样做 - 问题就消失了。Tomcat 是不是添加任何不适当的内容。
答案2
不应该把它添加到SSL 身份验证器阀门工作吗?
答案3
我有同样的问题,并解决了它添加这个
<Valve className="org.apache.catalina.authenticator.SSLAuthenticator" securePagesWithPragma="false"/>
<Valve className="org.apache.catalina.authenticator.NonLoginAuthenticator" securePagesWithPragma="false"/>
在 CATALINA_HOME/conf/context.xml 中。
谢谢