NGINX gzip不压缩JavaScript文件
所有JavaScript文件都不是由nginx gzip压缩的。
CSS文件正在工作。
在我的nginx.conf
我有以下几行:
gzip on; gzip_disable "MSIE [1-6]\.(?!.*SV1)"; gzip_proxied any; gzip_buffers 16 8k; gzip_types text/plain application/x-javascript text/xml text/css; gzip_vary on;
改变这一行:
gzip_types text/plain application/x-javascript text/xml text/css;
为了这个:
gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css;
注意添加application/javascript
和text/javascript
到你的gziptypes列表。
在这里发布的答案中还有更多的细节和更广泛的gziptypes列表。
这很有趣,因为浏览器中支持JavaScript的最好的,标准的MIMEtypes实际上是text / javascript。 如果你在/etc/nginx/mime.types
configuration它, /etc/nginx/mime.types
可以工作。
text / javascript(已过时):JavaScript; 在RFC 4329中定义并使其过时,以阻止其用于应用程序/ javascript的使用。 但是,在HTML 4和5中允许使用text / javascript,与application / javascript不同,它具有跨浏览器支持。 HTML5中标签的“type”属性是可选的,因为所有的浏览器总是采用正确的默认值(即使在规范要求的HTML 4中),也不需要使用它。
从这个线程: 文本/ JavaScript与应用程序/ JavaScript
所以nginx的gzip模块是根据以前的标准构build的,显然没有正确处理application / javascript mimetypes。