相关疑难解决方法(0)

Nginx代理Amazon S3资源

我正在执行一些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)

proxy nginx amazon-s3 amazon-web-services http-headers

57
推荐指数
2
解决办法
4万
查看次数