我的设置如下:用户->Cloudfront->Nginx->gunicorn
显然,当中间有 CDN(存在 Via 标头)时,nginx 不会压缩(gzip),因此我的 nginx 发送:
Transfer-encoding: chunked
根据 HTTP/1.1,在分块时不允许 Content-length。由于 cloudfront 看不到 content-length 标头,因此它不会压缩,我的用户会收到未压缩的响应。
我做到了
gzip_proxied no-cache no-store private expired auth;
确保 nginx 能够压缩,即使中间有一个 CDN,但这感觉像是黑客攻击。我的 cloudfront 配置错误吗,还是我的 nginx 发送分块很奇怪?
我做错了什么,因为默认值导致用户获得未压缩的文件?