服务器设置和教程 · 8 10 月, 2024

Nginx 指令:proxy_cache_use_stale (代理快取使用陳舊)

Nginx 指令:proxy_cache_use_stale(代理快取使用陳舊)

Nginx 是一款高效能的網頁伺服器,廣泛應用於負載平衡、反向代理及快取等場景。在 Nginx 的配置中,proxy_cache_use_stale 指令是一個非常重要的選項,能夠幫助管理快取的使用策略,特別是在後端伺服器出現故障或延遲的情況下。

什麼是 proxy_cache_use_stale?

proxy_cache_use_stale 指令允許 Nginx 在後端伺服器無法正常響應時,使用陳舊的快取內容來回應客戶端請求。這樣的設計可以提高網站的可用性,減少因後端伺服器故障而導致的服務中斷。

指令語法

proxy_cache_use_stale ;

其中, 可以是以下幾個選項:

  • off:不使用陳舊快取,當後端伺服器出現問題時,將返回錯誤。
  • error:當後端伺服器返回錯誤時,使用陳舊快取。
  • timeout:當後端伺服器超時時,使用陳舊快取。
  • invalid_header:當後端伺服器返回無效的標頭時,使用陳舊快取。
  • http_500:當後端伺服器返回 500 錯誤時,使用陳舊快取。
  • http_502:當後端伺服器返回 502 錯誤時,使用陳舊快取。
  • http_503:當後端伺服器返回 503 錯誤時,使用陳舊快取。
  • http_504:當後端伺服器返回 504 錯誤時,使用陳舊快取。

使用範例

以下是一個簡單的 Nginx 配置範例,展示如何使用 proxy_cache_use_stale 指令:

http {
    proxy_cache_path /tmp/cache levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;

    server {
        listen 80;
        server_name example.com;

        location / {
            proxy_pass http://backend_server;
            proxy_cache my_cache;
            proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504;
        }
    }
}

在這個範例中,當後端伺服器出現錯誤或超時時,Nginx 將使用陳舊的快取內容來回應請求,從而提高網站的可用性。

優點與注意事項

使用 proxy_cache_use_stale 指令的主要優點在於能夠提升網站的穩定性和用戶體驗。即使後端伺服器出現問題,使用者仍然可以獲得最近的快取內容,這對於一些需要高可用性的應用特別重要。

然而,使用陳舊快取也有其風險。若後端伺服器的數據經常更新,使用陳舊快取可能會導致用戶獲得過時的信息。因此,在使用此指令時,應根據實際需求進行合理配置。

總結

總的來說,proxy_cache_use_stale 是 Nginx 中一個非常實用的指令,能夠在後端伺服器出現問題時,保證網站的可用性。透過合理的配置,網站管理員可以有效地提升用戶體驗,減少因伺服器故障而造成的影響。如果您正在尋找穩定的 香港VPS 解決方案,Server.HK 提供多種選擇,滿足不同需求的客戶。