SMTP सर्वरों के लिए रिवर्स प्रॉक्सी
, जिससे सुरक्षा, प्रदर्शन और स्केलेबिलिटी में सुधार होता है।

क्लाइंट अपने अनुरोध रिवर्स प्रॉक्सी को भेजते हैं,
जो उन्हें उपयुक्त सर्वरों तक पहुंचाता है
और एक एकल, सुरक्षित एक्सेस प्वाइंट के रूप में कार्य करता है।
मुख्य लाभ:
- सुरक्षा के लिहाज से
, यह दुर्भावनापूर्ण अनुरोधों को अवरुद्ध कर सकता है, ट्रैफ़िक को एन्क्रिप्ट कर सकता है
और बैकएंड सर्वरों को प्रत्यक्ष हमलों से बचा सकता है। - प्रदर्शन के मामले में
, यह आने वाले ट्रैफिक को कई सर्वरों में वितरित करता है, जिससे
किसी एक सर्वर पर अधिक भार पड़ने से रोका जा सकता है और बेहतर उपलब्धता सुनिश्चित की जा सकती है। - स्केलेबिलिटी
आपको सेवा में बिना किसी रुकावट के बैकएंड सर्वर जोड़ने या हटाने की अनुमति देती है,
जिससे बढ़ते ट्रैफिक को संभालने की क्षमता मिलती है।
HTTP-ओनली रिवर्स प्रॉक्सी (लेयर 7)
इंटरनेट पर कई उपकरण उपलब्ध हैं; शोध के बाद, हमने शुरू में उन उपकरणों को खारिज कर दिया जो केवल HTTP प्रोटोकॉल (लेयर 7) का समर्थन करते हैं:
अपाचे का इस्तेमाल न
करें। “अरे बाप रे! ज़रा उन तकनीकों के बारे में जान लीजिए जिनसे आप काम कर रहे हैं। ईमेल SMTP का इस्तेमाल करता है। अपाचे HTTP का इस्तेमाल करता है। अपाचे को SMTP के बारे में ज़रा भी जानकारी नहीं है। अगर आप ईमेल संदेशों के साथ काम करना चाहते हैं, तो आपको ऐसी तकनीक की ज़रूरत होगी जो SMTP को समझती हो।” – EEAA द्वारा 18 अगस्त, 2016 को 2:49 बजे टिप्पणी की गई
कैडी का उपयोग न करें:
“कैडी केवल HTTP ओवर TCP को प्रॉक्सी कर सकता है, TCP को प्रॉक्सी नहीं कर सकता। Traefik, Nginx या haproxy जैसे रिवर्स प्रॉक्सी का उपयोग करें जो TCP को प्रॉक्सी कर सकते हैं, या इस प्रायोगिक प्लगइन का उपयोग करें।” – ElevenNotes द्वारा 24 सितंबर, 2024 को टिप्पणी की गई
इसके बाद हमने टिप्पणियों में सुझाए गए तीन विकल्पों पर ध्यान केंद्रित किया: "ट्रैफिक, एनजिनएक्स या हैप्रोक्सी," और उन्हें एक-एक करके स्थापित और परीक्षण किया।.
ट्रेफिक पहली पसंद थी।.
अधिकांश ट्यूटोरियल डॉकर से शुरू होते थे, एक ऐसा प्लेटफॉर्म जिससे मैं बचना चाहता था और एक सरल समाधान चुनना चाहता था, जो संभवतः लिनक्स पैकेज मैनेजरों में से किसी एक पर आधारित हो, जैसे कि फेडोरा और सेंटओएस जैसे आरपीएम-आधारित वितरणों के लिए YUM, या APT (एडवांस्ड पैकेज टूल), जिसका उपयोग उबंटू और डेबियन जैसे डेबियन-आधारित वितरणों पर किया जाता है।.
काफी खोजबीन के बाद, हमें यह हालिया लेख मिला, जिसमें उस प्रकार की स्थापना का वर्णन किया गया है जिसकी हमें तलाश थी: Traefik को systemd सेवा के रूप में सेटअप करें।
ध्यान दें: आपको SELinux की सेटिंग्स को "Enforcing" से "Permissive" में बदलना होगा।
Udemy पर दो कोर्स आज़माने के बाद, हमें यह बेहतरीन कोर्स मिला:
Traefik क्रैश कोर्स (डॉकर के बिना)।
दिए गए उदाहरणों को दोहराकर हम इसे चलाने में सफल रहे। वीडियो के अंत में, बेहतरीन प्रशिक्षक ने इस टूल के प्रति अपनी पूरी असहमति व्यक्त की:
Traefik क्रैश कोर्स - 53:50 सारांश।
इससे हमारा आगे परीक्षण करने का इरादा बदल गया और हमने कुछ और आज़माने का फैसला किया।
NginX दूसरा विकल्प था।
इस मामले में, YUM का उपयोग करके इंस्टॉलेशन सरल था:
yum install epel-release nginx nginx-mod-stream nginx-mod-mail
ध्यान दें: SELinux में, आपको रिले को सक्षम करना होगा:
setsebool -P httpd_can_network_relay 1
प्रशिक्षण के लिए, हमने सावधानी बरतते हुए पिछले कोर्स (
एनजिनएक्स क्रैश कोर्स) (पहला भाग लगभग एक घंटे बीस मिनट में समाप्त हो जाता है)। प्रशिक्षक भी इस एप्लिकेशन के बारे में पूरी तरह आश्वस्त नहीं थे, विशेष रूप से इस तथ्य के बारे में कि यह वेब सर्वर और रिवर्स प्रॉक्सी दोनों के रूप में कार्य करता है:
एनजिनएक्स क्रैश कोर्स - 1:20:10 सारांश।
रिपोर्ट का अंत इस वाक्य से होता है, "मैं एनजिनएक्स के बजाय HAProxy को चुनूंगा," इसलिए हमने HAProxy को भी आज़माने का निर्णय लिया।
अंत में, हमने HAProxy को भी आजमाया।.
इंस्टॉलेशन बेहद आसान साबित हुआ, क्योंकि यह एक बहुत ही सामान्य एप्लिकेशन है, जो सभी लिनक्स पैकेज मैनेजरों में उपलब्ध है, उदाहरण के लिए: yum install haproxy
हमने अपने भरोसेमंद प्रशिक्षक, HAProxy क्रैश कोर्स से।
यह काम तो करता है, लेकिन दुर्भाग्यवश, यह SMTP प्रमाणीकरण के लिए उपयुक्त नहीं है:
“HAProxy को इस तरह से कॉन्फ़िगर करना संभव नहीं है, क्योंकि HAProxy SMTP को बिल्कुल भी सपोर्ट नहीं करता।”
– लुकास्ट्रिबस ने 17 अगस्त, 2023 को टिप्पणी की।
एक मानक SMTP सर्वर को रिवर्स प्रॉक्सी के रूप में उपयोग करना
दो सप्ताह के परीक्षण के बाद, हमें यह एहसास हुआ कि
अन्य एसएमटीपी सर्वरों के लिए रिवर्स प्रॉक्सी के रूप में एक मानक एसएमटीपी सर्वर का उपयोग करना बेहतर है।
यह केवल SMTP प्रोटोकॉल का उपयोग करके अपना काम करता है, कनेक्शनों को ठीक से प्रमाणित करता है,
और "स्मार्टहोस्ट" फ़ंक्शन के माध्यम से अनुरोधों को अन्य SMTP सर्वरों को अग्रेषित कर सकता है।
Postfix में, main.cf में,
relayhost = [smarthost_address]:port के
Sendmail में, sendmail.mc में, जैसा कि
define(`SMART_HOST',`mail.example.com')