選擇性地設定 Nginx 的 Epoch 標頭過期

選擇性地設定 Nginx 的 Epoch 標頭過期

我的伺服器上有一個包含圖像的資料夾,用於透過 CDN 為行動應用程式提供服務,並與用於管理交付到應用程式的內容的後端 Web 應用程式配合使用。對於後者 - 後端 Web 應用程式 - 我想確保從相關資料夾傳遞的圖像不會被瀏覽器緩存,這樣我就可以在作者更新後立即在後端應用程式中顯示更新的版本。 CDN 提取相同的圖像以傳送到行動應用程序,並將其刷新設置為 30 分鐘,因此它不會傳送過時的內容圖像。

我的問題 - 如何配置 Nginx,使其expires epoch僅針對來自 web 應用程式的請求注入標頭。這個問題的部分答案在這個所以線程。有沒有辦法修改那裡提出的解決方案,以便在註入標頭之前檢查引薦來源網址?因此,例如,所有源自 的請求https://example.com/backoffice都會使用標頭進行回應expires epoch,而其他請求(例如來自 CDN 拉取請求的請求)則不會。

答案1

這裡一個簡單的if應該就夠了:

server {

    location ... {

        if ($http_referer ~* ^https://example.com/backoffice) {
            expires epoch;
        }

    }

}

請記住,一般來說,它是極大更適合您的 Web 應用程式做出快取決策並使用適當的指令進行回應。

相關內容