微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在配置为 nginx 服务器上方的反向代理的 tomcat 8.5.63 上使用 http2 启用 gzip 配置时遇到问题

如何解决在配置为 nginx 服务器上方的反向代理的 tomcat 8.5.63 上使用 http2 启用 gzip 配置时遇到问题

我们使用 tomcat 作为反向代理服务器,它在内部将我们的 html/css/js 请求转发到部署在 Nginx 服务器上的应用程序。我们已经在 tomcat reverseproxy 上启用了 http2 和 gzip 配置,如下所示。

 <Connector
                SSLEnabled="true"
                acceptCount="25"
                address="10.xx.x.x"
                ciphers="TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA"
                clientAuth="want"
                compressibleMimeType="text/html,text/xml,text/json,text/javascript,text/css,text/plain,application/json,application/javascript,application/xml,application/xml+xhtml,application/swagger-v20+json,application/swagger-v20+yaml"
                compression="on"
                compressionMinSize="1024"
                connectionTimeout="30000"
                disableuploadTimeout="true"
                keyAlias="tomcat"
                maxHttpHeaderSize="65536"
                maxThreads="200"
                minSpareThreads="5"
                noCompressionStrongETag="false"
                noCompressionUserAgents="gozilla,traviata"
                port="443"
                scheme="https"
                secure="true"
                server="MyTomcat"
                socket.soReuseAddress="true"
                sslEnabledProtocols="TLSv1.1,TLSv1.2"
                sslProtocol="TLS"
                >
<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" compressibleMimeType="text/html,application/json" compression="on" compressionMinSize="1024" useSendfile="false" />
</Connector>

我们观察到,使用 http1.1 gzip 配置可以很好地处理驻留在 Nginx 服务器中的资产。 但是当我们启用 http2 时,我们可以看到协议切换到 http2,但 gzip 配置未启用,服务器标头也未覆盖。对于驻留在 Nginx 服务器标头中的断言,其值为 server: Nginx/1.20.1。

关于如何使用 http2 启用 gzip 配置的任何想法?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。