我在压缩 HTTPS 时遇到问题。 一切都适用于 HTTP,在 .htaccess 中有一条规则:
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
</ifmodule>
如果我添加第二条规则将 HTTP 重定向到 HTTPS,压缩将停止工作: 检查 GZIP 压缩表示 GZIP 未启用 :(
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://example.com/$1 [R,L]
</IfModule>
版本:
/etc/redhat-release:CentOS release 6.8 (Final)
/usr/local/cpanel/version:11.60.0.35
/var/cpanel/envtype:kvm
CPANEL=release
Server version: Apache/2.4.25 (cPanel)
Server built: Jan 4 2017 14:51:03
ea-php-cli Copyright 2016 cPanel, Inc.
PHP 5.6.29 (cli) (built: Jan 4 2017 15:08:12)
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
mysql Ver 14.14 Distrib 5.6.34, for Linux (x86_64) using EditLine wrapper
Server version: Apache/2.4.25 (cPanel)
能请教一下吗?
最佳答案
从评论来看,您似乎在谈论 openssl s_client 命令返回的 HTTPS 压缩:
$ openssl s_client -connect example.com:443
<snip>
Compression: NONE
</snip>
这与用于减小大型项目(通常是基于文本的项目,如 HTML、CSS 和 Javascript)的大小的每个资源的 Gzip 压缩无关,而是在 SSL/TLS 级别进行的一组额外压缩。由于 CRIME attack,建议不要在 SSL/TLS 级别使用压缩发表于 2012 年。因此很可能会报告为否。事实上,如果它设置为是,您应该担心。
每个已配置资源类型的 Gzip 正文压缩仍应在原始配置的 HTTPS 下启用,正如您将在浏览器开发人员工具的“网络”选项卡中看到的那样(在大多数浏览器中按 F12 打开这些选项卡)。
关于ssl - 如何压缩HTTPS流量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41791948/