Nextcloud-এ শুধুমাত্র মিডিয়া কন্টেন্টের জন্য প্রক্সি ক্যাশে সক্রিয় করুন

5 min

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

নমস্কার, আমি অদক্ষ।

আমার শখ গান শোনা।
আমি সমস্ত সাবস্ক্রিপশন পরিষেবা বাতিল করে দিয়েছি এবং আমার সমস্ত সঙ্গীত নিজেই হোস্ট করেছি, কিন্তু Nextcloud সম্পর্কে আমার অভিযোগ হল এটি ধীরে লোড হয়

পরিবেশ
অ্যাপাচি হোম সার্ভার: যেখানে 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