Nginx - Amazon Cloudfront - Gzip不适用于JS文件

时间:2018-04-16 16:48:40

标签: nginx gzip amazon-cloudfront

这是我们关于Gzip的Nginx配置:

        gzip on;
        gzip_disable "msie6";
        gzip_vary on;
        gzip_proxied any;
        gzip_comp_level 5;
        gzip_min_length 256;
        gzip_buffers 16 8k;
        gzip_http_version 1.0;
        gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript image/png image/gif image/jpeg;

我们的JS文件由Amazon Cloudfront提供,但即使在使Amazon缓存无效,清除Wordpress缓存并重新启动我们的服务器之后,它们也不会被压缩。

响应标题给出:

curl -I https://d3opmxxxxnoy.cloudfront.net/wp-content/cache/min/1/def188074382933064c622c86c835c7f.js
HTTP/1.1 200 OK
Content-Type: application/javascript
Content-Length: 473913
Connection: keep-alive
Server: nginx
Date: Mon, 16 Apr 2018 16:45:55 GMT
Last-Modified: Mon, 16 Apr 2018 15:45:54 GMT
ETag: "5ad4c532-73b39"
Expires: Thu, 31 Dec 2037 23:55:55 GMT
Cache-Control: max-age=315360000
Access-Control-Allow-Origin: *
Accept-Ranges: bytes
X-Cache: Miss from cloudfront
Via: 1.1 63db28xxxx087abd41a1692.cloudfront.net (CloudFront)

我们怎么知道这是Nginx或Amazon配置问题?不确定问题出在哪里。

更新: 我们已使用此工具在我们自己的域上执行了另一项测试:https://checkgzipcompression.com

它仍然说JS文件没有压缩。所以这是一个Nginx问题 - 但不确定为什么它会发生,因为我的conf似乎是正确的。

1 个答案:

答案 0 :(得分:1)

响应标题给出:

Content-Type: application/javascript

这是需要包含在gzip_types语句中的MIME类型,以便压缩这些类型的响应。

您现有的值包含许多类似的MIME类型,但其中没有一个与服务器实际发送的内容完全匹配。

有关详细信息,请参阅this document