Nextcloud में केवल मीडिया सामग्री के लिए प्रॉक्सी कैश सक्षम करें

5 min

language: ja bn en es hi pt ru zh-cn zh-tw

नमस्ते, मैं अक्षम हूँ।

मेरा शौक संगीत सुनना है।
मैंने सभी सब्सक्रिप्शन सेवाओं को रद्द कर दिया है और अपने सभी संगीत को स्वयं होस्ट किया है, लेकिन Nextcloud के साथ मेरी शिकायत धीमी लोडिंग है।

वातावरण
Apache होम सर्वर: जहाँ Nextcloud स्थित है
nginx VPS: रिवर्स प्रॉक्सी और कैश सर्वर

सामग्री को हर बार मुख्य सर्वर से एक्सेस किया जाता है, जिससे सर्वर पर ही लोड पड़ता है, इसलिए मैंने इसे सुधारने का फैसला किया और VPS साइड पर प्रॉक्सी कैश की समीक्षा की, जो एक रिवर्स प्रॉक्सी के रूप में भी कार्य करता है।

मैं जल्दी से nginx.conf सिंटैक्स लिख देता हूँ।

        location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass http://192.168.10.101/;  
    }
    
    location /remote.php/dav/ {
    # Caching
    proxy_cache zone2;
    add_header X-Cache-Status $upstream_cache_status; # debug
    proxy_cache_valid 200 90d;
    proxy_pass http://192.168.10.101/remote.php/dav/;
    proxy_ignore_headers Cache-Control Expires;
    proxy_hide_header Cache-Control;
    proxy_hide_header Pragma;

}

   location /remote.php/webdav/ {
    proxy_cache zone2;
    add_header X-Cache-Status $upstream_cache_status; # debug
    proxy_cache_valid 200 90d;
    proxy_pass http://192.168.10.101/remote.php/webdav/;
    proxy_ignore_headers Cache-Control Expires;
    proxy_hide_header Cache-Control;
    proxy_hide_header Pragma;

}

    location /index.php/apps/music/api/file/ {
    proxy_cache zone2;
    add_header X-Cache-Status $upstream_cache_status; # debug
    proxy_cache_valid 200 90d;
    proxy_pass http://192.168.10.101/index.php/apps/music/api/file/;
    proxy_ignore_headers Cache-Control Expires;
    proxy_hide_header Cache-Control;
    proxy_hide_header Pragma;

}

वास्तव में,
proxy_ignore_headers Cache-Control Expires;
proxy_hide_header Cache-Control;
मुझे नहीं पता कि यहां Cache-Control को दो बार कॉल करने का कोई मतलब है या नहीं, लेकिन फिलहाल यह ठीक काम कर रहा है।

इसके अलावा, **/index.php/apps/music/api/file/** के संबंध में, मैंने एक संगीत प्लेबैक प्लगइन स्थापित किया है, और चूंकि प्लगइन स्वयं Nextcloud API को कॉल करता है, यह सामान्य Nextcloud मीडिया प्लेबैक से अलग व्यवहार करता है, इसलिए मैंने इसे जोड़ा।
जिन लोगों ने इसे स्थापित नहीं किया है, उन्हें इसकी आवश्यकता नहीं हो सकती है।

यह काफी आरामदायक है।

संदर्भ और संशोधन

संदर्भ: How to use caching reverse proxy with NextCloud, problems with NC setting “cache-control”

proxy_pass https://x.x.x.x/remote.php/webdav/;
इस व्यक्ति ने ऐसा किया था, लेकिन मेरे मामले में यह ठीक से काम नहीं किया।
मुझे एहसास हुआ कि Nextcloud में दो मामले हैं, एक /webdav/ के लिए और दूसरा /dav/ के लिए, और प्रत्येक के लिए सिंटैक्स लिखकर मैं सफल रहा।

खासकर जब मैंने पहली बार Nextcloud को पूरी तरह से कैश किया, तो व्यवहार गड़बड़ हो गया और, जैसा कि अपेक्षित था, यह काम नहीं किया (हाहा)।

मुझे लगा कि इतनी सारी सामग्री के साथ कैश जल्दी भर जाएगा, लेकिन यह छवियों और संगीत जैसी फ़ाइलों के लिए प्रभावी है।

मैंने गति बढ़ाने के लिए और भी कई चीजें की हैं, इसलिए अगर मुझे मन हुआ तो मैं अपडेट करूँगा।

Related Posts