我正在执行一些WPO任务,因此PageSpeed建议我利用浏览器缓存.我已经成功改进了我的Nginx服务器中的一些静态文件,但是仍然缺少存储在Amazon S3服务器中的图像文件.
我已经阅读了有关更新S3中每个文件的方法,以包含一些标头元标记(Expires和Cache-Control).我认为这不是一个好方法.我有成千上万的文件,所以这对我来说不可行.
我认为最方便的方法是配置我的Nginx 1.6.0服务器来代理S3文件.我已经读过这个,但我在服务器配置上并不熟练,所以我从这些网站得到了几个例子:https://gist.github.com/benjaminbarbe/1961db5ffbaad57eff12
我在我的nginx配置文件中的服务器块中添加了这个位置代码:
#inside server block
location /mybucket.s3.amazonaws.com/ {
proxy_http_version 1.1;
proxy_set_header Host mybucket.s3.amazonaws.com;
proxy_set_header Authorization '';
proxy_hide_header x-amz-id-2;
proxy_hide_header x-amz-request-id;
proxy_hide_header Set-Cookie;
proxy_ignore_headers "Set-Cookie";
proxy_buffering off;
proxy_intercept_errors on;
proxy_pass http://mybucket.s3.amazonaws.com;
}
Run Code Online (Sandbox Code Playgroud)
当然,这对我不起作用.我的请求中不包含标头.所以,首先我认为请求与位置不匹配.
Accept-Ranges:bytes
Content-Length:90810
Content-Type:image/jpeg
Date:Fri, 23 Jun 2017 04:53:56 GMT
ETag:"4fd0be549fbcaf9b47c18a15146cdf16"
Last-Modified:Tue, 09 Jun 2015 09:47:13 GMT
Server:AmazonS3
x-amz-id-2:cKsq1qRra74DqVsTewh3P3sgzVUoPR8aAT2NFCuwA+JjCdDZfk7/7x/C0WPjBa51GEb4C8LyAIc=
x-amz-request-id:94EADB4EDD3DE1C1
Run Code Online (Sandbox Code Playgroud)