2012-01-25 14 views
7

मुझे आशा है कि कोई व्यक्ति वार्निश को कैश-कंट्रोल हेडर भेजने के लिए उचित तरीके से सलाह दे सकता है। वर्तमान में, मेरी कॉन्फ़िगरेशन "कैश-कंट्रोल: नो-कैश" ग्राहकों को भेज रही है।वार्निश कैश-कंट्रोल हेडर कैसे सेट करें

किसी को जो मदद करने के लिए सक्षम हो सकता है के लिए अग्रिम धन्यवाद ...

+0

अगर आप की व्याख्या आप क्या चाहते हैं मदद कर सकता है। कौन सी कॉन्फ़िगरेशन (वार्निश या आपका बैक-एंड) नो-कैश हेडर भेज रहा है? आप वार्निश में इन शीर्षकों को ओवरराइड कर सकते हैं, लेकिन क्या यह 'सही' है, जो आपके प्रतिक्रियाओं के अर्थशास्त्र पर निर्भर करता है (क्या वे पुन: प्रयोज्य हैं, ग्राहकों पर, कितनी देर तक आदि)। – ivy

+0

@ivy, आपके उत्तर के लिए धन्यवाद। जो मैं पूरा करने की कोशिश कर रहा हूं वह है ** वार्निश ** कैश-कंट्रोल हेडर भेजें जो मैं मैन्युअल रूप से निर्दिष्ट करता हूं, भले ही बैक-एंड वार्निश को भेजता है। –

उत्तर

11

आपका बैक-एंड भेज रहा है "कैश-नियंत्रण: नहीं कैश" वार्निश जो दो बातें तात्पर्य रहे हैं:

  • वार्निश कैश में प्रतिक्रिया संग्रहीत नहीं करेगा (इसलिए अगला लुकअप असफल हो जाएगा)
  • आपके क्लाइंट (ब्राउज़र और इंटरमीडिएट प्रॉक्सी) प्रतिक्रियाओं को कैश नहीं करेंगे (और उनसे अनुरोध करें)।

समाधान सरल है: बैक एंड से प्रतिक्रिया प्राप्त करने के बाद कैश-कंट्रोल हेडर को हटाएं (और उन्हें कैश में संग्रहीत करने से पहले)।

अपने vcl फ़ाइल में कार्य करें:

sub vcl_fetch { 
    remove beresp.http.Cache-Control; 
    set beresp.http.Cache-Control = "public"; 
} 

आप केवल कुछ यूआरएल ((if req.url ~ "") तर्क में लपेट) के लिए यह करने के लिए चुनते हैं और जिस तरह से और अधिक उन्नत सामान कर सकते हैं।

+1

वार्निश 4.0 'vcl_fetch' के रूप में' vcl_backend_response' –

3

वार्निश कैश-कंट्रोल को अनदेखा करता है: दस्तावेज के अनुसार nocache।

http://drupal.org/node/1418908

कि परिणाम पाने के लिए आपको हैडर कैश-नियंत्रण को पता लगाना चाहिए: यहाँ सबूत है कि इस बात की पुष्टि है। nocache। अपने बैकएंड से, और उसके बाद कैश को अमान्य करें, बैकएंड प्रतिक्रिया को कैश करने योग्य नहीं सेट करें, या अन्य शीर्षलेख में अधिकतम आयु: 0 जारी करें (मैं अभी नाम भूल गया हूं)।

+0

के साथ प्रतिस्थापित किया गया था यह समस्या अब बंद है। मुझे लगता है कि पोस्टर को एहसास हुआ कि उसने गलती की है। –

0

[ivy] की अच्छी सलाह है, और/लेकिन जब आप अंतिम उपयोगकर्ता (ब्राउज़र) कैशिंग के लिए सर्वर के इरादे का पालन करने का प्रयास करते हैं तो यह थोड़ा जटिल हो जाता है। मैं this resource पाया वार्निश कॉन्फ़िगर करने के लिए एक कैश पर धारण करने के लिए लंबे समय तक की तुलना में एक ब्राउज़र करने के निर्देश दिए है एक तरह से समझने में सहायक हो ...

https://www.varnish-cache.org/trac/wiki/VCLExampleLongerCaching

संबंधित मुद्दे