Nginx
從 NGINX 記憶體提供服務時轉發請求 - 這可能嗎?
我已經啟用了 Nginx 的記憶體。我遵循了官方文件,它工作正常。發生的情況是,當請求第一次進來時,它被代理傳遞給伺服器。響應被記憶體。
從那裡開始,所有請求都從 Nginx 記憶體中提供服務,直到它過期。但我想要一個額外的東西。
這是我想要的:
- 當從記憶體中提供請求時,我想向我的伺服器發出 API 請求,這樣我就不會失去命中數(計數器)
我怎樣才能做到這一點?
我已經嘗試過該
mirror
命令,但是當從記憶體提供頁面時它不會被呼叫。只有在記憶體過期時才會呼叫它。這是我嘗試過的配置快照。這甚至可能嗎?還有其他方法可以做到這一點嗎?編輯 記憶體指令,如第二個螢幕截圖中突出顯示的那樣。
這似乎是不可能的。該
mirror
指令作為原始請求的子請求處理,所以如果nginx不處理原始請求,鏡像請求也不會被處理。作為一種解決方法,您可以添加第二個自定義
access_log
指令,該指令使用自定義log_format
. 然後,您的程序可以讀取此日誌以確定記憶體命中發生的時間以及訪問的 URL。事實上,它可以只使用該日誌來計算所有命中,無論是否記憶體。