बायडू स्पाइडर की क्रॉलिंग फ्रीक्वेंसी कैसे सीमित करें
एनजीनक्स के ngx_http_limit_req_module मॉड्यूल का उपयोग करें
बाईडू स्पाइडर की अधिक अवधि को सीमित करने के लिए, आप एनजीनक्स के ngx_http_limit_req_module मॉड्यूल का उपयोग कर सकते हैं। यह मॉड्यूल स्पाइडर के पहुंचान दर को नियंत्रित करने में मदद कर सकता है, जिससे सर्वर की भार कम हो।
एनजीनक्स कॉन्फ़िगर करें
बाईडू स्पाइडर की अधिक अवधि को सीमित करने के लिए, आपको निम्नलिखित एनजीनक्स कॉन्फ़िगर फ़ाइल में कुछ सेटिंग करनी होगी। ग्लोबल कॉन्फ़िगरेशन में निम्नलिखित सामग्री जोड़ें:
limit_req_zone $anti_spider zone=anti_spider:60m rate=200r/m;
किसी सर्वर में निम्नलिखित कॉन्फ़िगर जोड़ें:
limit_req zone=anti_spider burst=5 nodelay;if ($http_user_agent ~* \\u0026#34;baiduspider\\u0026#34;) {set $anti_spider $http_user_agent;}
पैरामीटर विवरण
उपरोक्त कॉन्फ़िगरेशन में, कुछ पैरामीटरों की स्पष्टीकरण की आवश्यकता है:
rate=200r/m:प्रति मिनट केवल 200 अनुरोध प्रसंस्कृत करना।
burst=5:अधिकतम समकालिक 5 का अर्थ है, यानी एक साथ केवल 5 अनुरोधों को संसाधित किया जा सकता है।
nodelay:यदि अधिकतम समकालिक संख्या तक पहुंच जाती है, तो सीधे 503 त्रुटि लौटाई जाएगी।
IF भाग:बाईडू स्पाइडर से आगंतुक का पता लगाने के लिए उपयोग किया जाता है, अगर हां है, तो चर $anti_spider को निर्धारित करने के लिए, जिससे उस पर प्रतिबंध लगाया जा सके।
उपरोक्त सेटिंग का उपयोग करके बाईडू स्पाइडर की क्रॉलिंग फ़्रीक्वेंसी को प्रभावी ढंग से सीमित किया जा सकता है, सर्वर पर अत्यधिक दबाव न डालने के लिए।