HAProxy کو ریورس پراکسی کے طور پر کیسے ترتیب دیں۔

Haproxy Kw Rywrs Praksy K Twr Pr Kys Trtyb Dy



جب آپ کے پاس ویب سرور ہوتا ہے، تو کلائنٹ کی درخواستوں کو آگے بڑھانے کا طریقہ اور سرور کا جواب ٹریفک کو تقسیم کرنے میں مدد کرتا ہے اور سیکیورٹی کو بڑھاتا ہے۔ ایک ریورس پراکسی، جیسے کہ HAProxy، آپ کی ویب ایپلیکیشن اور کلائنٹ کے آلات کے درمیان ایک ثالث کے طور پر کام کرتی ہے۔ اس طرح، یہ کلائنٹ کی درخواستیں وصول کرتا ہے اور سرور کا جواب وصول کرتے ہوئے اور انہیں کلائنٹس تک پہنچاتے ہوئے انہیں مناسب ویب سرور پر بھیج دیتا ہے۔ اپنے ریورس پراکسی کے طور پر کام کرنے کے لیے اپنے سرور سائیڈ پر HAProxy کو ترتیب دینا ایک سیدھا سا عمل ہے۔ اس پوسٹ میں ان اقدامات کی تفصیل دی گئی ہے جو آپ کو اٹھانے چاہئیں۔

ریورس پراکسی کیوں استعمال کریں؟

HAProxy کو ریورس پراکسی کے طور پر ترتیب دینے کے اقدامات پر بات کرنے سے پہلے، آئیے جلدی سے اس بات پر روشنی ڈالتے ہیں کہ ریورس پراکسی آپ کے فائدے کے لیے کیوں کام کرتی ہے۔ HAProxy کو ریورس پراکسی کے طور پر استعمال کرنے سے جو فوائد حاصل ہوتے ہیں وہ درج ذیل ہیں:

  1. وزن کو متوازن کرنا - آپ کے ویب سرور پر، ایک موقع پر، بہت سے کلائنٹ کی درخواستوں کا معاملہ ہو سکتا ہے، اگر اسے اچھی طرح سے نہیں سنبھالا گیا، تو اس پر اوورلوڈ ہو سکتا ہے جس کی وجہ سے غیر متوقع طور پر ڈاؤن ٹائم ہوتا ہے۔ تاہم، ریورس پراکسی کو ترتیب دینا اس بات کو یقینی بناتا ہے کہ ٹریفک تمام بیک اینڈ سرورز میں تقسیم ہو جائے تاکہ یہ یقینی بنایا جا سکے کہ کوئی بھی سرور درخواستوں سے زیادہ بوجھ نہ ہو۔
  2. فائر وال اور سیکورٹی - ریورس پراکسی کلائنٹ کے آلات کو ویب سرور سے جوڑتی ہے۔ ایسا کرنے سے ہمارے بیک اینڈ سرورز کو براہ راست انٹرنیٹ پر بے نقاب کرنے کا خطرہ کم ہوجاتا ہے۔ اس طرح، نقصان دہ ٹریفک کو آسانی سے فلٹر اور بلاک کیا جا سکتا ہے اس سے پہلے کہ یہ سرورز کو نقصان پہنچائے۔
  3. بہتر کیشنگ - ریورس پراکسی کے ساتھ، آپ مجموعی کارکردگی میں بہتری دیکھیں گے کیونکہ جامد مواد کو کیش کرنے سے لوڈ کا وقت کم ہو جائے گا۔ اس کے علاوہ، آپ صارف کا بہتر تجربہ حاصل کریں گے۔
  4. SSL/TLS کا خاتمہ - ریورس پراکسی کے ساتھ، SSL/TLS کنکشنز کو انکرپٹ اور ڈکرپٹ کرنا ہموار ہو جاتا ہے، اور آپ کے بیک اینڈ سرورز کو اس کام کو نہیں اٹھانا پڑے گا، جس سے ان کا بوجھ کم ہو گا۔

HAProxy کو ریورس پراکسی کے طور پر کیسے ترتیب دیں۔

یہ بتانے کے بعد کہ HAProxy جیسی ریورس پراکسی کیوں ضروری ہے، آئیے پیروی کرنے کے لیے کنفیگریشن کے اقدامات بتاتے ہیں۔







مرحلہ 1: HAProxy انسٹال کریں۔



آپ نے شاید پہلے ہی اپنے سسٹم پر HAProxy انسٹال کر رکھا ہے۔ اگر ایسا ہے تو، اس قدم کو چھوڑ دیں۔ تاہم، اس میں کسی نئے شخص کے لیے، HAProxy کو انسٹال کرنے کے لیے درج ذیل کمانڈ کو چلائیں:



$ sudo apt haproxy انسٹال کریں۔

ہم نے اسے پہلے ہی اپنے کیس میں انسٹال کر رکھا ہے۔





مرحلہ 2: HAProxy کنفیگریشن فائل میں ترمیم کریں۔



HAProxy میں ایک کنفیگریشن فائل ہے جس تک آپ کو اپنی ریورس پراکسی کے طور پر کنفیگر کرنے کے لیے رسائی اور ترمیم کرنی ہوگی۔ ٹیکسٹ ایڈیٹر کا استعمال کرتے ہوئے تشکیل فائل کو کھول کر شروع کریں۔

$sudo nano /etc/haproxy/haproxy.cfg

ایک بار کھلنے کے بعد، نوٹ کریں کہ اس میں ڈیفالٹ اور عالمی سیکشنز کے لیے بنیادی کنفیگریشنز ہیں۔ اس کے بعد ہمیں دو مزید حصے بنانے چاہئیں: فرنٹ اینڈ اور بیک اینڈ۔ فرنٹ اینڈ ان انٹرفیس کی وضاحت کرتا ہے جنہیں کلائنٹ کی درخواستیں موصول ہونی چاہئیں، جبکہ بیک اینڈ ان سرورز کی وضاحت کرتا ہے جو ٹریفک کو سنبھالیں گے۔

اس مثال کے طور پر، ہم پورٹ 80 اور 81 سے کلائنٹ کی درخواستوں کو قبول کرنے کے لیے فرنٹ اینڈ کو تشکیل دیتے ہیں۔ پھر ہم ٹریفک کو تقسیم کرنے کے لیے ایک اصول بناتے ہیں کہ پورٹ 80 سے کنکشن ایک مخصوص سرور پر روٹ کیے جائیں جب کہ پورٹ 81 کے کنکشن کسی دوسرے سرور پر جاتے ہیں۔ سرور ہمارا فرنٹ اینڈ سیکشن مندرجہ ذیل میں دکھایا گیا ہے:

چونکہ ہم نے دو بیک اینڈ سرورز، backend2 اور linux_backend بنائے ہیں، ہمیں دونوں سرورز کے لیے بیک اینڈ سیکشنز بنانے چاہئیں۔ ہم یہ بتاتے ہیں کہ ہر ایک کے لیے ہمارے 'سرور1' اور 'سرور2' پر ٹریفک کو کون سا IP تقسیم کرنا ہے۔

ایک بار جب کنفیگریشن فائل میں ترمیم ہو جائے تو اسے محفوظ کریں اور فائل سے باہر نکلیں۔ نوٹ کریں کہ آپ کی ضروریات کے مطابق HAProxy کو ترتیب دینے کے بہت سے طریقے ہیں۔ ہمارے معاملے کے لیے، ہم اپنے ٹریفک کو روٹ کرنے کے لیے مخصوص IP ایڈریس کا استعمال کرتے ہوئے ویب سرور بناتے ہیں۔ اپنے ویب سرورز سے ملنے کے لیے آئی پیز کو تبدیل کریں اور آپ کس پورٹ پر سننا چاہتے ہیں۔

مرحلہ 3: درستگی کی تصدیق کریں۔

HAProxy کے ساتھ، ایک کمانڈ ہے جو آپ کو تصدیق کرنے دیتی ہے کہ آیا آپ کی کنفگ فائل درست ہے۔ درج ذیل کمانڈ کو چلائیں اور دیکھیں کہ آپ کو کیا آؤٹ پٹ ملتا ہے:

$ sudo haproxy -c -f /etc/haproxy/haproxy.cfg

اگر آپ کو ایسا ہی آؤٹ پٹ ملتا ہے، تو یہ تصدیق کرتا ہے کہ آپ کی کنفگ فائل درست ہے۔ بصورت دیگر، یہ غلطیاں بڑھائے گا۔

مرحلہ 4: ریورس پراکسی کی جانچ کریں۔

'curl' جیسی کمانڈ کا استعمال کرتے ہوئے، آپ اپنے ویب سرور پر ٹریفک بھیج سکتے ہیں اور دیکھ سکتے ہیں کہ یہ کیسے جواب دیتا ہے۔ ہمارے معاملے کے لیے، ہم ویب سرور بنانے کے لیے Python3 استعمال کرتے ہیں۔

'curl' کمانڈ کو چلانے سے اس بات کی تصدیق ہوتی ہے کہ ہمارا ویب سرور مخصوص پورٹ کو سن رہا ہے اور HAProxy نے ہماری کنفیگریشن فائل کی بنیاد پر ٹریفک کو مخصوص سرور پر تقسیم کر دیا ہے۔

آپ براؤزر پر اپنے ویب سرور تک بھی رسائی حاصل کر سکتے ہیں اور تصدیق کر سکتے ہیں کہ ریورس پراکسی کام کرتی ہے۔

چونکہ ہمارے پاس دو ویب سرورز ہیں جو کلائنٹ ڈیوائسز کے ذریعے استعمال ہونے والے پورٹ کے لحاظ سے استعمال کیے جا سکتے ہیں، آئیے ایک مختلف ویب سرور کو ایک مختلف پورٹ سے باندھتے ہیں اور دیکھتے ہیں کہ کیا ہوتا ہے۔

مندرجہ ذیل آؤٹ پٹ سے پتہ چلتا ہے کہ HAProxy نے ہمارے ٹریفک کو دوسرے بیک اینڈ سرور پر یہ پتہ لگانے کے بعد بھیجا کہ کلائنٹ کی درخواست پورٹ 81 کے ذریعے بھیجی گئی تھی، اس بات کی تصدیق کرتے ہوئے کہ ٹریفک کی تقسیم حسب توقع کام کر رہی ہے۔

HAProxy کو ریورس پراکسی کے طور پر ترتیب دینے کا طریقہ یہ ہے۔

نتیجہ

HAProxy آپ کے ویب سرور کے لیے ریورس پراکسی کے لیے ایک بہترین انتخاب ہے۔ اسے ترتیب دینا سیدھا سیدھا ہے۔ صرف اس بات کی وضاحت کریں کہ کلائنٹ کی درخواستوں کے لیے کون سا پورٹ سننا ہے اور لوڈ بیلنسنگ کے لیے کن اصولوں کو استعمال کرنا ہے۔ اس کے بعد، استعمال کرنے کے لیے بیک اینڈ سرورز شامل کریں اور آپ کے پاس اپنی ریورس پراکسی اوپر اور چل رہی ہوگی۔ اس پوسٹ نے پیروی کرنے کے اقدامات کا اشتراک کیا اور ایک مثال کا مظاہرہ کیا تاکہ یہ یقینی بنایا جا سکے کہ آپ HAProxy کے ساتھ آرام دہ ہیں۔