我们正在OS X Mojave(10.14.3)和OpenJDK 11.0.1 + 13上运行Tomcat 9.0.16服务器,并且正在升级到HTTP / 2。但是,使用此配置,Safari无法从服务器加载任何gzip压缩的内容,并输出错误消息“网络连接丢失”。这仅在加载gzip压缩的内容时才会发生。关闭HTTP / 2升级协议(org.apache.coyote.http2.Http2Protocol)的压缩将解决此问题。没有其他浏览器似乎有此问题(已在最新的Edge,Firefox和Chrome上成功测试)。
我们已经尝试过的:
现在,我们唯一的选择是使用HTTP / 2而不进行压缩或降级到HTTP / 1.1。我注意到Debian apache2 bugtracker上有一个类似的错误:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=915103。可能是相关的,因为该错误看起来很相似,并且那里也只有Safari受到影响。
有人暗示这里可能是什么问题吗? Tomcat错误? Safari错误? JVM错误?到目前为止,我还无法弄清这个问题的根源,Tomcat的日志文件似乎也无济于事。
非常感谢您的帮助。
答案 0 :(得分:1)
有完全相同的问题(tomcat 版本是 9.021)。问题是我们的 useSendfile 为 false。默认值为 true - 因此您可以将其省略。它以前确实有效,但后来苹果改变了一些东西。验证它适用于较旧的 MacOS 版本(想想 sierra 左右)。
<块引用>/> GZIP 和 Http2 现在可在 Ipad 上运行(chrome、safari)。