在 Debian 上让 Tomcat 开启 Gzip 压缩,主要是通过修改 Tomcat 的 server.xml 配置 HTTP 连接器(Connector)来实现。下面以常见版本(Tomcat 8/9/10)为例说明。
通常位置如下(根据你的安装方式可能不同):
/etc/tomcat9/server.xml/opt/tomcat/conf/server.xml编辑 server.xml,找到 HTTP Connector(一般是 8080 端口):
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
改成下面这样(关键参数是 compression 相关):
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json,application/xml"
noCompressionUserAgents="gozilla, traviata" />
compression="on":开启 GzipcompressionMinSize:超过该大小才压缩(字节)compressableMimeType:需要压缩的 MIME 类型noCompressionUserAgents:不压缩的客户端(可选)systemctl restart tomcat9
$CATALINA_HOME/bin/shutdown.sh
$CATALINA_HOME/bin/startup.sh
curl -H "Accept-Encoding: gzip" -I http://localhost:8080/
看到:
Content-Encoding: gzip
说明成功。
打开开发者工具 → Network → 查看响应头:
Content-Encoding: gzip
如果你用的是 Nginx + Tomcat 或 Tomcat 特定版本,可以告诉我,我可以给你更精确配置。