2016-08-08 6 views
0

私は毎回 '上流'サーバーに行くのではなく、サーバー上に静的ファイルをキャッシュしようとしています。この上流のサーバがCloudFrontはあることを起こる、ここでnginxがプロキシキャッシュとクラウドフロントを使用していません

は私のnginxの設定です:

nginx.conf HTTPコンテキスト:

proxy_cache_key "$scheme$host$request_uri"; 
proxy_cache_path /var/spool/nginx levels=1:1 keys_zone=oly_zone:1000m; 
proxy_cache_use_stale updating; 
proxy_cache_valid 200 301 302 10m; 
proxy_cache_valid any 10s; 
proxy_cache oly_zone; 

website.conf:

location /gameimages/stock/ { 
    proxy_ignore_headers "Set-Cookie"; 
    proxy_hide_header "Set-Cookie"; 
    add_header X-Proxy-Cache $upstream_cache_status; 
    proxy_cache_valid 404 1s; 
    proxy_cache_valid any 15d; 
    proxy_cache oly_zone; 

    proxy_pass http://d34sdfsfsadfasdfmhbsdafirsdfsdffelaut.cloudfront.net/; 
} 

私はこれが働いていたと思いました応答ヘッダーの例は、これを示しています:

Accept-Ranges:bytes 
Age:11515 
Connection:keep-alive 
Content-Length:11577 
Content-Type:image/jpeg 
Date:Mon, 08 Aug 2016 19:25:16 GMT 
ETag:"57a47349-2d39" 
Last-Modified:Fri, 05 Aug 2016 11:06:49 GMT 
Server:nginx/1.4.1 
Via:1.1 3ba457b8dbcd4sadfsdfe93515e26caad.cloudfront.net (CloudFront) 
X-Amz-Cf-Id:N0Dlk5c28sdfsf5Cvfskb3-T6PRBfSXfEPsdfasfuOLW7SHa1hjQ== 
X-Cache:Hit from cloudfront 
X-Proxy-Cache:HIT 

CloudFrontとサーバーのキャッシュの両方にヒットしているようです。私は何か間違っているのですか?

おかげで、

マイケル

答えて

0

問題はまだ実際のであれば - 私は解決策を発見しました。 一般に、CloudFrontはアセットローディングパスから除外され、S3バケットはデータソースとして直接使用されるべきです。

ソリューション:https://dpb587.me/blog/2015/06/20/using-nginx-to-reverse-proxy-and-cache-s3-objects.html

私は私の場合のみ1行がキャッシュ魔法の作業を取得するために追加されなければならなかった:

# use google as dns 
    resolver 8.8.8.8; 

はまた、時々SELinuxは(13:パーミッション拒否)nginxのを防ぐために、いくつかのチューニングをrequresエラーを:

sudo setsebool httpd_can_network_connect on -P 
sudo semanage permissive -a httpd_t 
関連する問題