我一直无法在服务器和 s3 之间建立代理来缓存请求。我最终将其归结为单点故障...
http{
proxy_cache_path /home/cache levels=1:2 keys_zone=S3_CACHE:10m inactive=24h max_size=500m;
...
location / {
proxy_cache S3_CACHE;
proxy_pass http://MY_BUCKET.s3.amazonaws.com/;
proxy_pass_request_headers on;
}
}
}
如果我删除proxy_cache S3_CACHE;
标头,则 s3 会发送并接受该标头,允许对图像发出获取请求,然后以图像作为响应。如果我保留标头,则发送标头,然后拒绝该标头,并返回 403 错误。
这使我相信启用缓存会以某种不可预见的方式改变标头,从而导致它们被 S3 拒绝。
我希望这里有人能了解为什么会发生这种情况......
而且...我如何捕获 nginx 发送到 s3 的标头,以便我可以将它们与原始的代理前标头进行比较。