Varnish
清漆記憶體不適用於ajax呼叫
if (req.url ~ "do_ajax.php" && req.request == "GET") { return (lookup); }
我將這一行放在 varnish.vcl 配置中,但我在響應頭中得到了這個頭:
no-cache, must-revalidate, max-age=0
我也嘗試過:
if (req.url ~ "do_ajax.php" && req.request == "GET") { return (hash); }
但是清漆無法重新啟動,除非我刪除返回(雜湊)。
現在,我想知道清漆配置文件中是否有一行強制所有 ajax 呼叫不接受記憶體,我不明白的第二件事是為什麼我在響應頭中得到它,不應該是客戶端在請求標頭中發送這個而不是?為什麼伺服器返回這個?
正如您在其他文章中提到的:您可能使用的是過時版本的 Varnish。這可以解釋為什麼 VCL 語法不起作用。
請確保您使用的是 Varnish 6 或 Varnish 7。根據您使用的 Linux 發行版,請參閱https://www.varnish-software.com/developers/downloads/#linux-packages獲取安裝過程列表。
我還在您發布的其他文章中提供了 VCL 解決方案。