我在启用 gzip 的情况下通过 nginx 的 SSL 提供大型 (376kb) javascript 文件时遇到了麻烦。通过普通的 http 提供该文件没有任何问题。
有问题的文件是 ckeditor.js,位于https://www.myleadconverter.com/js/lib/ckeditor/ckeditor.js
我搜索了一番,只找到了一些关于 gzip_buffers 的信息。我发现的所有信息似乎都指向http://blog.leetsoft.com/2007/07/25/nginx-gzip-ssl.html
我的 nginx.conf 中的相关部分:
gzip on;
gzip_comp_level 5;
gzip_proxied any;
gzip_buffers 16 8k;
gzip_types text/plain text/css application/x-javascript text/xml
application/xml application/xml+rss text/javascript;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
gzip_vary on;
目前,下载在 105kb 处停止,但压缩后应为 119kb(此信息来自 chrome 中的开发工具)。如果我使用 wget 并提供 accept-encoding 标头,它最终会加载,但只有在恢复下载几次后才能加载:
mac2:Desktop andrewmullins$ wget -S --header="accept-encoding: gzip" https://www.myleadconverter.com/js/lib/ckeditor/ckeditor.js
--2013-02-26 00:30:04-- https://www.myleadconverter.com/js/lib/ckeditor/ckeditor.js
Resolving www.myleadconverter.com... 184.106.67.181
Connecting to www.myleadconverter.com|184.106.67.181|:443... connected.
HTTP request sent, awaiting response...
HTTP/1.1 200 OK
Server: nginx/0.8.54
Date: Tue, 26 Feb 2013 06:31:39 GMT
Content-Type: application/x-javascript
Connection: keep-alive
Vary: Accept-Encoding
Accept-Ranges: bytes
Content-Length: 375761
Last-Modified: Tue, 18 Dec 2012 04:08:08 GMT
Length: 375761 (367K) [application/x-javascript]
Saving to: `ckeditor.js'
21% [====================> ] 81,681 16.2K/s in 4.9s
2013-02-26 00:30:11 (16.2 KB/s) - Connection closed at byte 81681. Retrying.
关于需要更改哪些设置才能通过 ssl 完成下载,您有什么想法吗?