0

最近,AWS引入了將Cloudfront(CF)連接到自定義起源(如Elasticbeanstalk)的能力,從而實現了通過動態服務器與WAL之間的CDN。爲Django堆棧設置Route53-> CloundFront-> Elasticbeanstalk基礎結構

我想用這類AWS基礎設施:

Route53-> CloundFront-> Elasticbeanstalk(+負載平衡器)

,我也希望有非零TTL緩存的請求到匿名用戶的同一個網址。

要做到這一點,我顯然需要白名單cookie和可能的緩存頭排除。直覺上我覺得我需要排除授權cookie,csrf cookies - 答案是我需要排除哪些cookie和頭文件才能使所有內容都可用?

此外,還有一個gist/lib來解決從X_FORWARDED_IP頭鏈中排除CF IP地址的問題嗎?

我發現了一個article描述何以爲Ruby設置一切足夠好,但沒有描述與僅緩存一般基礎設施設置有關的問題。

回答

1

鑑於您的用戶具有會話cookie或標識它們的某個cookie,您可以在CloudFront中將該cookie加入白名單。

CloudFront緩存將僅針對具有相同Cookie值的用戶進行緩存,即對於登錄用戶而言,僅針對匿名用戶。

CloudFront將默認轉發您的緩存ttl,因此您可以從您的beanstalk應用程序中設置該緩存。