我正在尋找一種緩存反向代理(類似squid或varnish),在出現故障時爲服務陳舊的內容提供良好的支持 - 換句話說,如果我代理的應用程序消失或開始提供內部服務器錯誤我希望緩存繼續提供從後端保存的最後一個良好響應。本質上,我希望緩存服務器在出現問題時充當額外的保護層。如果底層應用程序不可用,可以提供陳舊內容的好緩存逆向代理是什麼?
有沒有人配置Squid或類似的做到這一點?瞭解任何支持開箱即用的產品?
我正在尋找一種緩存反向代理(類似squid或varnish),在出現故障時爲服務陳舊的內容提供良好的支持 - 換句話說,如果我代理的應用程序消失或開始提供內部服務器錯誤我希望緩存繼續提供從後端保存的最後一個良好響應。本質上,我希望緩存服務器在出現問題時充當額外的保護層。如果底層應用程序不可用,可以提供陳舊內容的好緩存逆向代理是什麼?
有沒有人配置Squid或類似的做到這一點?瞭解任何支持開箱即用的產品?
魷魚可以在2.7版本中做到這一點。具體而言,使用陳舊的錯誤指令。更多細節,可以發現:
它看起來像光油不能處理這個要求只是尚未:http://varnish.projects.linpro.no/ticket/369
這將取決於多久「不可用」。 Squid有一個配置'refresh_stale_hit',它的設計主要是通過允許稍微陳舊的內容在緩存更新時提供服務來消除一些延遲。不過很確定它不會覆蓋從Web服務器收到錯誤的響應。有一個完整的'離線'模式,將繼續提供緩存結果(專爲...等待它...離線使用!),所以代碼路徑在那裏:不確定是否可以配置它爲兩個代理好的結果,並忽略壞的。
對於任何人現在讀這篇文章,門票已經被關閉,標誌着西蒙的回答4個月後固定。顯然這個功能現在被稱爲「聖徒模式」。 – 2010-01-13 21:06:46