【发布时间】:2019-07-09 17:07:39
【问题描述】:
我们有一个在 Tomcat 8.5 上使用带有 Spring 的 websockets 的应用
我们发现使用这种组合的问题
- 使用 context.xml 中的
<security-constraint>在 tomcat 中强制 SSL 连接 - 使用spring 4.2.6+
- 从 Safari 浏览。
我们遇到的问题就是这个。
WebSocket - Safari 9 - Invalid UTF-8 sequence in header value
基本上 Safari 收到了一个空的 Expires 标头发送给它。它为空的原因是由于 SPR-14053 在配置缓存时引入了重置 Expires Header。
https://github.com/spring-projects/spring-framework/issues/18625
发生的事情是在 Tomcat 中使用而不是禁用ProxyCaching 时,Tomcat 设置和 Expires Header
我相信因为 Header 之前是 Tomcat 设置的,而不是从响应中删除 Expire 标头,而是将其设置为空白,这会导致 safari 出现问题。
我知道我可以解决这个问题,我的问题是,应该在哪里解决这个问题?这应该针对 Safari、Spring 或 Tomcat 的错误列表提交吗?
【问题讨论】:
标签: spring tomcat websocket safari