Nginx

NGINX:我可以將 proxy_no_cache 指令與上游響應正文一起用於條件記憶體嗎?

  • January 10, 2022

我們將 Ngnix 用作 3rd 方服務前的記憶體代理,並具有以下指令以確保記憶體狀態程式碼為 200 的上游響應…

proxy_cache_valid 200 364d

問題是當沒有找到給定搜尋的結果時,第 3 方服務返回 200。這由響應正文中的 JSON 參數指示docs: []

是否可以proxy_no_cache在上游正文內容上使用帶有正則表達式的指令或任何其他指令,這樣我們就不會記憶體這些“空”響應?也不存在指示“空”響應的標頭。

TIA

不,nginx 不會將響應負載作為變數提供。這是執行此類操作所需的最低要求。

您可以創建另一個應用程序來執行上游請求,解析響應並設置告訴 nginx 響應是否應該被記憶體的 HTTP 標頭。或者它可以直接為空響應設置404響應。

引用自:https://serverfault.com/questions/1089574