SysAdmin गाइड · 2 मिनट पढ़ें

स्क्विड प्रॉक्सी सेटअप और कॉन्फ़िगरेशन

स्क्विड क्लासिक लिनक्स HTTP/HTTPS कैशिंग प्रॉक्सी है, जो अनगिनत कॉर्पोरेट गेटवे को शक्ति प्रदान करता है। यहाँ एक साफ इंस्टॉलेशन, एक एक्सेस-नियंत्रित squid.conf, प्रमाणीकरण, और CONNECT नियम है जो HTTPS को अनुमति देता है।

Squid किसके लिए है

Squid एक परिपक्व, विशेषताओं से भरपूर कैशिंग प्रॉक्सी है जो HTTP और HTTPS के लिए है। छोटे 3proxy या केवल SOCKS वाले Dante के विपरीत, Squid वेब ट्रैफ़िक के चारों ओर बनाया गया है: यह प्रतिक्रियाओं को कैश कर सकता है, एक्सेस-नियंत्रण सूचियों द्वारा फ़िल्टर कर सकता है, उपयोगकर्ताओं को प्रमाणित कर सकता है, और विस्तार से लॉग कर सकता है। यह इसे एक कॉर्पोरेट आउटबाउंड गेटवे, एक व्यस्त नेटवर्क के लिए कैशिंग परत, या एक नियंत्रित HTTP CONNECT प्रॉक्सी के लिए डिफ़ॉल्ट विकल्प बनाता है। यह SOCKS नहीं करता — इसके लिए आप 3proxy या Dante का उपयोग करेंगे (देखें अपनी प्रॉक्सी बनाएं)।

नए आने वाले हमेशा जिन दो चीज़ों पर ठोकर खाते हैं, वे हैं एक्सेस नियंत्रण (Squid डिफ़ॉल्ट रूप से सब कुछ अस्वीकार करता है) और HTTPS (जिसके लिए CONNECT विधि की अनुमति होनी चाहिए)। नीचे दिया गया कॉन्फ़िगरेशन दोनों को संभालता है।

एक सुरक्षित squid.conf

पोर्ट 3128 पर एक प्रमाणित फॉरवर्ड प्रॉक्सी है जिसमें एक ACL है, HTTPS के लिए कनेक्ट की अनुमति है, और सुरक्षित पोर्ट प्रतिबंधित हैं। अपने वितरण के लिए पथ समायोजित करें।

bash
apt update && apt install -y squid apache2-utils
# create a password file for basic auth:
htpasswd -c /etc/squid/passwd USER   # prompts for password

cat > /etc/squid/squid.conf <<'CFG'
http_port 3128

# --- authentication ---
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic realm s4m-proxy
acl authenticated proxy_auth REQUIRED

# --- safe ports / CONNECT for HTTPS ---
acl SSL_ports port 443
acl Safe_ports port 80 443 21 1025-65535
acl CONNECT method CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

# --- allow only authenticated users, deny the rest ---
http_access allow authenticated
http_access deny all

# --- small cache ---
cache_dir ufs /var/spool/squid 1000 16 256
coredump_dir /var/spool/squid
CFG

squid -k parse            # validate config
systemctl restart squid

# test:  curl -x http://USER:PASS@YOUR.VPS.IP:3128 https://api.ipify.org

ACLs, HTTPS और ईमानदार सीमाएँ

Squid की शक्ति इसका ACL मॉडल है: आप स्रोत IP, गंतव्य, पोर्ट, दिन का समय या प्रमाणित उपयोगकर्ता द्वारा अनुमति या अस्वीकृति करते हैं, और नियमों का मूल्यांकन शीर्ष से नीचे किया जाता है, जिसमें पहला मेल खाने वाला जीतता है। अंत में http_access deny all पंक्ति आवश्यक है — बिना डिफ़ॉल्ट-अस्वीकृति के, एक गलत कॉन्फ़िगर किया गया Squid एक खुला रिले बन जाता है। HTTPS के लिए, याद रखें कि Squid एन्क्रिप्टेड ट्रैफ़िक को टनल करने के लिए CONNECT का उपयोग करता है जिसे वह पढ़ नहीं सकता; SSL_ports ACL यह सीमित करता है कि वह टनल किन पोर्ट्स तक पहुँच सकता है। (Squid स्थानीय CA के साथ TLS इंटरसेप्शन भी कर सकता है, लेकिन एक साधारण फॉरवर्ड प्रॉक्सी के लिए आप ऐसा नहीं चाहते।)

खुद Squid चलाना आपको एक नियंत्रित डेटा सेंटर निकास और समृद्ध लॉगिंग देता है, इसके रखरखाव की लागत पर। यदि आपको केवल एक प्रमाणित HTTP निकास की आवश्यकता है बिना सर्वर चलाए, तो यही s4m HTTP proxy पर proxy.s4m.online:3128 प्रदान करता है, जिसमें एक dedicated IP विकल्प और API है। यदि कोई अनुरोध 407 लौटाता है, तो क्रेडेंशियल्स की जांच करें — 407 गाइड देखें।

Share this page
FAQ

प्रश्न, उत्तरित

इंस्टॉल के बाद Squid मेरे सभी ट्रैफ़िक को क्यों ब्लॉक करता है?

स्क्विड डिफ़ॉल्ट रूप से सब कुछ अस्वीकार करता है जब तक कि आप http_access allow नियम नहीं जोड़ते। आपको एक ACL की आवश्यकता है जो आपके उपयोगकर्ताओं या स्रोत IPs से मेल खाती है और अंतिम deny all के ऊपर एक allow लाइन। डिफ़ॉल्ट-निषेध एक सुरक्षा विशेषता है जो स्क्विड को एक ओपन रिले बनने से रोकती है।

Squid HTTPS को कैसे संभालता है?

CONNECT विधि के माध्यम से: Squid पोर्ट 443 पर गंतव्य के लिए एक कच्चा सुरंग खोलता है और बिना पढ़े एन्क्रिप्टेड बाइट्स को रिले करता है। आपको अपने SSL_ports ACL के लिए CONNECT की अनुमति देनी चाहिए। Squid एक स्थानीय CA के साथ TLS को भी इंटरसेप्ट कर सकता है, लेकिन एक साधारण फॉरवर्ड प्रॉक्सी को इसकी आवश्यकता नहीं होती।

रखरखाव छोड़ें

पूर्ण नियंत्रण के लिए Squid चलाएँ, या अपने क्लाइंट को पोर्ट 3128 पर प्रमाणित s4m HTTP प्रॉक्सी की ओर इंगित करें ताकि प्रबंधित डेटा सेंटर निकासी हो — जब आपको आवश्यकता हो तो समर्पित IP और API के साथ।

लोगों ने इस पृष्ठ को खोजकर पाया

वास्तविक खोज वाक्यांश जिनका यह पृष्ठ उत्तर देता है — लिंक किए गए वाक्यांश उस पृष्ठ को खोलते हैं जो उन्हें गहराई से कवर करता है।