संपादित 2 महीने पहले द्वारा ExtremeHow संपादकीय टीम
अपाचेरिवर्स प्रॉक्सीवेब सर्वरकॉन्फ़िगरेशननेटवर्किंगआईटीलोड बैलेंसिंगसिस्टम एडमिनसेटअपविकाससुरक्षाअनुकूलन
अनुवाद अपडेट किया गया 2 महीने पहले
Apache को रिवर्स प्रॉक्सी सर्वर के रूप में सेट करना आपके सर्वर के नेटवर्क पर ट्रैफ़िक को प्रबंधित और निर्देशित करने का एक शक्तिशाली तरीका हो सकता है। यह व्यापक गाइड आपको Apache को रिवर्स प्रॉक्सी सर्वर के रूप में सेट करने के लिए आवश्यक सभी जानकारी और चरणों के बारे में बताएगा। हम रिवर्स प्रॉक्सी से संबंधित अवधारणाओं पर भी चर्चा करेंगे और प्रमुख बिंदुओं को स्पष्ट करने के लिए उदाहरण प्रदान करेंगे। इस गाइड के अंत तक, आपके पास Apache को रिवर्स प्रॉक्सी सर्वर के रूप में सेट और कॉन्फ़िगर करने की विस्तृत समझ होगी।
एक रिवर्स प्रॉक्सी सर्वर एक मध्यवर्ती सर्वर होता है जो एक क्लाइंट डिवाइस और एक बैकएंड सर्वर के बीच में स्थित होता है। एक स्टैंडर्ड प्रॉक्सी सर्वर के विपरीत, जो क्लाइंट के अनुरोधों को अन्य सर्वरों को फॉरवर्ड करके सेवा प्रदान करता है, एक रिवर्स प्रॉक्सी आने वाले क्लाइंट अनुरोधों को इंटरसेप्ट करता है और उन्हें कॉन्फ़िगरेशन नियमों के आधार पर विभिन्न बैकएंड सर्वरों की दिशा में निर्देशित करता है। आमतौर पर यह सेटअप ट्रैफिक को कुशलतापूर्वक प्रबंधित करने, लोड वितरित करने और आंतरिक सर्वरों को सुरक्षा प्रदान करने के लिए उपयोग किया जाता है।
Apache एक शक्तिशाली और व्यापक रूप से उपयोग होने वाला वेब सर्वर सॉफ़्टवेयर है जिसे एक रिवर्स प्रॉक्सी के रूप में कॉन्फ़िगर किया जा सकता है। ऐसा करने के लिए, Apache कई मॉड्यूल का उपयोग करता है, विशेष रूप से mod_proxy
और इसके एक्सटेंशन। यह एसंशन Apache को एक रिवर्स प्रॉक्सी सर्वर के रूप में सेट करने के लिए आवश्यक चरणों को कवर करेगा।
Apache को रिवर्स प्रॉक्सी के रूप में कॉन्फ़िगर करने से पहले, सुनिश्चित करें कि Apache और आवश्यक मॉड्यूल्स इंस्टॉल किए गए हैं। यदि इंस्टॉल नहीं है, तो आप आमतौर पर पैकेज मैनेजर जैसे apt
के माध्यम से Ubuntu/Debian या yum
के लिए CentOS/RHEL के लिए Apache इंस्टॉल कर सकते हैं। कमांड इस प्रकार होती है:
sudo apt update
sudo apt install apache2
CentOS/RHEL के लिए:
sudo yum install httpd
रिवर्स प्रॉक्सी के लिए आवश्यक Apache मॉड्यूल mod_proxy
और इसके विशिष्ट एक्सटेंशन जैसे HTTP प्रॉक्सी कार्यक्षमता के लिए mod_proxy_http
होते हैं। इन मॉड्यूल्स को सक्रिय करने के लिए निम्नलिखित का उपयोग करें:
sudo a2enmod proxy
sudo a2enmod proxy_http
मॉड्यूल सक्रिय करने के बाद, बदलावों को लागू करने के लिए Apache को पुनः प्रारंभ करें:
sudo systemctl restart apache2
Apache में वर्चुअल होस्ट कॉन्फ़िगरेशन फ़ाइलें आपको एक ही सर्वर पर विभिन्न साइटों या वेब एप्लिकेशन को कॉन्फ़िगर करने की अनुमति देती हैं। एक रिवर्स प्रॉक्सी सेट करने के लिए, आपको अपने डोमेन के साथ जुड़े वर्चुअल होस्ट कॉन्फ़िगरेशन फ़ाइल को संपादित करना या नया बनाना होगा।
Apache कॉन्फ़िगरेशन निर्देशिका में जाएँ। Ubuntu/Debian के लिए, कॉन्फ़िग्रेशन फ़ाइलें आमतौर पर /etc/apache2/sites-available/
या /etc/apache2/sites-enabled/
में होती हैं। CentOS/RHEL के लिए, यह आमतौर पर /etc/httpd/conf.d/
में होती है।
लक्षित डॉमन के लिए एक वर्चुअल होस्ट फ़ाइल बनाएँ या संपादित करें। एक कमांड लाइन टेक्स्ट एडिटर जैसे nano
या vi
का उपयोग करके कॉन्फ़िग्रेशन फ़ाइल को बनाएँ या संपादित करें। एक रिवर्स प्रॉक्सी के लिए एक उदाहरण कॉन्फ़िग्रेशन इस तरह हो सकता है:
<VirtualHost *:80>
ServerName example.com
ProxyPreserveHost On
ProxyPass / http://backendserver.com/
ProxyPassReverse / http://backendserver.com/
</VirtualHost>
इस उदाहरण में:
ServerName
: डोमेन नाम जिसका क्लाइंट रिवर्स प्रॉक्सी को एक्सेस करने के लिए उपयोग करेगा।ProxyPreserveHost On
: मूल Host
हेडर को बनाये रखता है, जो कुछ एप्लिकेशन के लिए उपयोगी हो सकता है।ProxyPass
और ProxyPassReverse
: ये आदेश आपके वर्चुअल होस्ट से लक्ष्य बैकएंड सर्वर तक की आंतरिक मैपिंग स्थापित करते हैं। http://backendserver.com/
को लक्ष्य बैकएंड सर्वर के URL/IP और पाथ के साथ बदलें।एक बार जब आप वर्चुअल होस्ट फ़ाइल को कॉन्फ़िगर कर लें, आपको साइट को सक्रिय करने की आवश्यकता है। Ubuntu/Debian पर, आप ऐसा कर सकते हैं:
sudo a2ensite example.conf
example.conf
को अपनी कॉन्फ़िग्रेशन फ़ाइल के वास्तविक नाम के साथ बदलें। सक्रिय करने के बाद, अपने Apache कॉन्फ़िगरेशन को सिंटैक्स त्रुटियों के लिए परीक्षण करें:
sudo apache2ctl configtest
अगर सब कुछ सही होता है, तो बदलावों को लागू करने के लिए Apache को पुनः प्रारंभ करें:
sudo systemctl restart apache2
CentOS/RHEL के लिए, साइट सक्रिय करना आमतौर पर Ubuntu/Debian की तरह आवश्यक नहीं होता। बस सुनिश्चित करें कि आपकी कॉन्फ़िग्रेशन फ़ाइल सही डायरेक्टरी में सेव है और Apache को पुनः प्रारंभ करें:
sudo systemctl restart httpd
अपने प्रॉक्सी सेटअप को सत्यापित करने के लिए, वेब ब्राउजर में अपने डोमेन पर जाएं। यदि सब कुछ सही तरीके से कॉन्फिगर किया गया है, तो आपके वर्चुअल होस्ट के लिए अनुरोध बेकएंड सर्वर को निर्दोष तरीके से प्रॉक्सी किए जाने चाहिए।
Apache रिवर्स प्रॉक्सी सेटअप को आपके विशेष आवश्यकताओं को पूरा करने के लिए विभिन्न कॉन्फ़िगरेशन विकल्पों के साथ अधिक अनुकूलित किया जा सकता है। नीचे कुछ उन्नत विकल्प दिए गए हैं:
Apache रिवर्स प्रॉक्सी और क्लाइंट के बीच के ट्रैफिक को एन्क्रिप्ट करने के लिए SSL/TLS कॉन्फ़िगर करें। आपको mod_ssl
मॉड्यूल को सक्रिय करना होगा और एक एसएसएल प्रमाणपत्र प्राप्त करना होगा। mod_ssl
इंस्टॉल करें:
sudo a2enmod ssl
SSL सक्रिय करने के बाद, अपने वर्चुअल होस्ट फ़ाइल को SSL निर्देशों के साथ संपादित करें। एक SSL-सक्षम वर्चुअल होस्ट के लिए कॉन्फ़िग्रेशन इस तरह हो सकता है:
<VirtualHost *:443>
ServerName secure.example.com
SSLEngine on
SSLCertificateFile /path/to/certificate.crt
SSLCertificateKeyFile /path/to/privatekey.key
ProxyPreserveHost On
ProxyPass / http://backendserver.com/
ProxyPassReverse / http://backendserver.com/
</VirtualHost>
एसएसएल प्रमाणपत्र और निजी कुंजी के स्थान के साथ प्रमाणपत्र और कुंजी फ़ाइल पथ को प्रतिस्थापित करना याद रखें।
रिवर्स प्रॉक्सी में कैशिंग को सक्षम करने से बार-बार होने वाले अनुरोधों के लिए कैश्ड सामग्री को तेजी से सर्व करके प्रदर्शन को बढ़ावा दिया जा सकता है। Apache mod_cache
मॉड्यूल के माध्यम से कैशिंग की अनुमति देता है।
mod_cache
, mod_cache_disk
, और यदि आप मेमोरी कैशिंग का उपयोग करना चाहते हैं तो विकल्प mod_cache_socache
को सक्रिय करें:
sudo a2enmod cache
sudo a2enmod cache_disk
sudo a2enmod cache_socache
अपने वर्चुअल होस्ट कॉन्फ़िगरेशन में कैशिंग निर्देश जोड़ें:
<VirtualHost *:80>
ServerName cache.example.com
CacheQuickHandler off
CacheLock on
CacheLockPath /tmp/mod_cache
CacheIgnoreCacheControl On
ProxyPass / http://backendserver.com/
ProxyPassReverse / http://backendserver.com/
<Location />
CacheEnable disk /
</Location>
</VirtualHost>
जब कैशिंग सक्षम होती है, तो Apache उपयुक्त स्थानों पर कैश्ड सामग्री को सर्व करेगा, गति और दक्षता बढ़ाएगा।
कई कॉन्फ़िग्रेशनों की तरह, एक रिवर्स प्रॉक्सी सेट करना कभी-कभी समस्याएं प्रस्तुत कर सकता है। यहां कुछ सामान्य समस्याओं के समाधान दिए गए हैं:
यदि आप 500 आंतरिक सर्वर त्रुटि का सामना करते हैं, तो अधिक जानकारी के लिए Apache की त्रुटि लॉग जांचें। यह /var/log/apache2/error.log
या /var/log/httpd/error_log
में पाया जा सकता है।
apache2ctl configtest
(httpd -t
CentOS/RHEL पर) चलाकर कॉन्फ़िग्रेशन सिंटैक्स में त्रुटियों की जांच करें। यदि सिंटैक्स समस्याएं हैं, तो आवश्यकतानुसार कॉन्फ़िग्रेशन फ़ाइल को ठीक करें।
ProxyPass
और ProxyPassReverse
निर्देशों की टाइपोग्राफ़ी या गलत पथ के लिए दोबारा जांचें। यह सुनिश्चित करें कि बैकएंड सर्विस चल रही है और सुलभ है।
बधाई हो, अब आपके पास Apache को रिवर्स प्रॉक्सी सर्वर के रूप में सेट करने का ज्ञान है, जो आपके सर्वर वास्तुकला को काफी हद तक बढ़ा सकता है। यह सेटअप लोड को संतुलित कर सकता है, ट्रैफ़िक प्रबंधन को सुनिश्चित कर सकता है, सुरक्षा बढ़ा सकता है, और कैशिंग जैसी अतिरिक्त सुविधाओं के साथ उपयोगकर्ता अनुभव को सुधार सकता है। याद रखें, सफल रिवर्स प्रॉक्सी सेटअप की कुंजी आपके विशेष आवश्यकताओं को समझना और आवश्यकतानुसार कॉन्फ़िग्रेशन को समायोजित करना है। हमेशा कॉन्फ़िग्रेशन का पूरी तरह से परीक्षण करें और अपने सिस्टम की निगरानी करें ताकि उच्चतम प्रदर्शन सुनिश्चित हो सके।
Apache की लचीलापन और इसके समृद्ध मॉड्यूल इकोसिस्टम के साथ, कार्यक्षमताओं को आगे बढ़ाने की संभावनाएं महान होती हैं। एसएसएल एन्क्रिप्शन से लेकर उन्नत कैशिंग नीतियों तक, Apache के व्यवहार को एक रिवर्स प्रॉक्सी के रूप में अनुकूलित करने की संभावना महान होती है।
यदि आप उन्नत और अद्वितीय कॉन्फ़िगरेशन के बारे में और अधिक सीखना चाहते हैं, तो Apache दस्तावेज़ीकरण और सामुदायिक फ़ोरम अतिरिक्त सुझाव और समर्थन के लिए उत्कृष्ट संसाधन हैं।
यदि आपको लेख की सामग्री में कुछ गलत लगता है, आप कर सकते हैं