我一直在爲在nginx後面運行的rails應用程序設置多個cloudfront端點以改善頁面加載時間。基本上 - 我們有一個單一的端點建立,似乎一直在努力罰款前,但是當我在第二端點添加使用以下聲明asset_host:Cloudfront爲源服務器上存在的資產緩存nginx的404s
config.action_controller.asset_host = Proc.new do |source|
hosts = ["https://url1.cloudfront.net", "https://url2.cloudfront.net"]
hosts[source.hash % 2]
end
每當我部署(用一個漂亮的香草Capistrano的部署腳本),一些資產沒有加載 - cloudfront正在緩存nginx 404頁面。如果我使cloudfront的緩存無效,資產全部加載正常。
capistrano腳本本身在重新啓動獨角獸前進行編譯,所以應該沒有html引用新資產文件名稱,但是,cloudfront在部署後立即緩存404s。
我確實無法在每次部署後使雲端緩存失效,這需要很長時間。有沒有人遇到過這個問題?有關如何解決此問題的任何建議?
感謝您的回答:D您可以重寫一個更具體的答案。或者我自己做? ^^ – Awea