是否可以为 https 配置 Tomcat (7.0.75) 并同时启用 gzip 压缩?我无法找出 server.xml
中 http 连接器属性的有效组合完成工作。在 http 上工作的四个与压缩相关的属性:
compression="on"
compressableMimeType="application/json"
compressionMinSize="8192"
useSendfile="false"
配置 https 时似乎没有任何效果。我目前的配置:<Connector port="8443"
protocol="HTTP/1.1"
SSLEnabled="true"
maxThreads="50"
server="web"
allowTrace="false"
keystoreFile="/app/certs/keystore.jks"
keystorePass="********"
scheme="https"
secure="true"
clientAuth="false"
sslProtocol="TLS"
sslEnabledProtocols="TLSv1.1,TLSv1.2"
ciphers="TLS_..._SHA"
maxKeepAliveRequests="100"
connectionTimeout="20000"
compression="on"
compressableMimeType="application/json"
compressionMinSize="8192"
useSendfile="false"
maxSwallowSize="-1"
socket.soKeepAlive="true"/>
最佳答案
我使用的这个配置server.xml :
1.http连接器
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000"
compression="on" compressionMinSize="0" useSendfile="false"
redirectPort="443" />
2. https连接器<Connector port="443" protocol="org.apache.coyote.http11.Http11AprProtocol"
maxThreads="200" SSLEnabled="true" connectionTimeout="20000"
compression="on" compressionMinSize="0" useSendfile="false" >
<SSLHostConfig>
<Certificate certificateKeyFile="conf/key.crt"
certificateFile="conf/certificate.crt"
certificateChainFile="conf/chain.crt"
type="RSA" />
</SSLHostConfig>
</Connector>
您可能想要更改端口 80
至8080
, 和端口 443
至8443
.更新:如果您使用
http2
协议(protocol) - 也添加这一行:<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol"
compression="on" compressionMinSize="0" useSendfile="false" />
关于tomcat - 在Tomcat中可以使用https进行gzip压缩吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45888817/