Nginx

Nginx 反向代理記憶體是如何工作的?

  • February 15, 2013

我不明白帶有記憶體的反向代理是如何工作的。

讓我們假設記憶體是空的。

User1 載入 index.php(動態內容)。沒有記憶體,所以 Nginx 查詢 php 文件。伺服器說“歡迎使用者 1”。Nginx 使用 md5 校驗和儲存網頁。

User2 載入 index.php。記憶體中儲存了一個頁面,所以我們將這個頁面返回給使用者。它說“Welcome User1”,但如果我們呼叫了 php 腳本,它會返回“Welcome User2”。

Nginx如何知道是否再次呼叫php腳本?我的帶有記憶體的反向代理效果很好,可以返回動態內容,但我想這不僅僅是“魔術”。

是返回一個告訴 Nginx 不要記憶體的標頭的 php 腳本嗎?

響應記憶體由 HTTPCache-Control響應標頭控制。

如果它設置為no-cacheor private,那麼您的反向代理將不會記憶體文件。通常private用於發送給登錄使用者的頁面;這意味著代理不能記憶體文件,但網路瀏覽器可以這樣做。

Cache-Control您可以在RFC 2616 第 14.9 節等中查看完整的詳細資訊。

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