2013-05-26 43 views
5

我配置了我的系統,使用監聽端口80的NginX,爲後端服務器提供靜態內容和代理動態請求。如何配置NginX僅在後端關閉時提供緩存內容(5xx響應代碼)?

我可以配置NginX緩存後端生成的內容,但我希望只有當Backend響應錯誤http 5xx或完全關閉時,纔會爲此緩存的內容提供服務。

我們嘗試了proxy_cache_use_stale選項,其最大年齡爲1秒,但它有效,但它有一個消極的一面..這僅僅是在這1秒緩存老化內容期間從緩存提供的幾十個請求。這些來自緩存的請求將進一步錯過Backend處理(例如統計)。

我們只能住得起這種消極IF後端下降, 因此,緩存將作爲備用或故障轉移解決方案。但只要backend啓動並響應,則不應從緩存提供任何請求。

我將不勝感激任何提示

+1

@達納克非常感謝您的指正。 (但是,再次感謝。 –

回答

3
+1

這是關於使用陳舊,意味着:何時使用陳舊版本的原始緩存內容?我需要的是永遠不要使用緩存內容 –

+0

想一想,緩存如何存儲它從未存儲過的內容?如果你設置一個最大時間爲一秒,你將實現你的目標 – Melvyn

+0

噢,酷..很好的提示..我會試一試,並會發布更新;-) –

相關問題