Arka fon
S3'te CloudFront'u en üstte tutan statik bir site barındırıyorum. Sahip olduğum sorun HTML dosyalarımda.
Göre CloudFront en SSS :
Amazon CloudFront, bu önbellek kontrol başlıklarını, dosyanın güncelleştirilmiş bir sürümünün kaynağını ne sıklıkta kontrol etmesi gerektiğini belirlemek için kullanır
Şimdiye kadar ne yaptım
Bunu göz önünde bulundurarak, S3 Bölümümdeki HTML dosyalarını aşağıdaki başlıkları eklemek üzere ayarladım:
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Benim ilk çağrımda samplefile.htm
, aşağıdaki yanıt başlıklarını görüyorum (konuya Content-Type
devam etmek için belirgin başlıkları (örneğin ) hariç tuttum:)
Cache-Control:no-cache, no-store, max-age=0, must-revalidate
Date:Sat, 10 Dec 2011 14:16:51 GMT
ETag:"a5890ace30a3e84d9118196c161aeec2"
Expires:Fri, 01 Jan 1990 00:00:00 GMT
Last-Modified:Sat, 10 Dec 2011 14:16:43 GMT
Server:AmazonS3
X-Cache:Miss from cloudfront
Gördüğünüz gibi, Cache-Control
başlığım orada. Sorun, bu dosyayı güncelleyip yenilediğimde önbelleğe alınmış içeriği (en son dosya yerine) alıyorum ve CloudFront'un yanıt başlıklarına bakarak önbelleğe alınmış sürümünü sunduğunu görebiliyorum:
X-Cache:Hit from cloudfront
Özet / soru
Yukarıdakileri göz önünde bulundurarak, CloudFront'u kullanırken en son HTML'yi otomatik olarak nasıl alabilirim?
SSS'ye göre bunu Cache-Control üstbilgileriyle yapabilmeliyim, ancak bunu çalıştıramıyorum.
Aşağıdaki cevapları takip ederek
Sonunda www CNAME'mi doğrudan S3 grubumu gösterecek şekilde değiştirmeye karar verdim. Daha sonra CloudFront'u işaret eden "statik" adlı yeni bir CNAME ekledi.
Bu, HTML'nin doğrudan S3'ten geldiğini ve bunun da tüm CSS / JS / IMG referanslarını static.alan_adim.com.tr'yi işaret ettiğini gösterir.