రివర్స్ ప్రాక్సీని ఎందుకు ఉపయోగించాలి?
HAProxyని రివర్స్ ప్రాక్సీగా కాన్ఫిగర్ చేసే దశలను చర్చించే ముందు, మీ ప్రయోజనం కోసం రివర్స్ ప్రాక్సీ ఎందుకు పనిచేస్తుందో త్వరగా హైలైట్ చేద్దాం. HAProxyని రివర్స్ ప్రాక్సీగా ఉపయోగించడం ద్వారా మీరు పొందే ప్రయోజనాలు క్రిందివి:
- లోడ్ బ్యాలెన్సింగ్ - మీ వెబ్ సర్వర్ ఒక సమయంలో, చాలా క్లయింట్ అభ్యర్థనలను కలిగి ఉంటుంది, అవి సరిగ్గా నిర్వహించబడకపోతే, ఊహించని పనికిరాని సమయానికి కారణమయ్యే ఓవర్లోడ్ కావచ్చు. ఏదేమైనప్పటికీ, రివర్స్ ప్రాక్సీని కాన్ఫిగర్ చేయడం వలన ఏ సర్వర్ అభ్యర్థనలతో ఓవర్లోడ్ చేయబడకుండా చూసేందుకు బ్యాకెండ్ సర్వర్లలో ట్రాఫిక్ పంపిణీ చేయబడుతుందని నిర్ధారిస్తుంది.
- ఫైర్వాల్ మరియు భద్రత - రివర్స్ ప్రాక్సీ క్లయింట్ పరికరాలను వెబ్ సర్వర్కు కలుపుతుంది. అలా చేయడం వల్ల మన బ్యాకెండ్ సర్వర్లను నేరుగా ఇంటర్నెట్కు బహిర్గతం చేసే ప్రమాదం తగ్గుతుంది. ఆ విధంగా, సర్వర్లను పాడు చేసే ముందు హానికరమైన ట్రాఫిక్ను సులభంగా ఫిల్టర్ చేయవచ్చు మరియు బ్లాక్ చేయవచ్చు.
- మెరుగైన కాషింగ్ - రివర్స్ ప్రాక్సీతో, స్టాటిక్ కంటెంట్ను కాష్ చేయడం ద్వారా లోడ్ సమయం తగ్గుతుంది కాబట్టి మీరు మొత్తం పనితీరు మెరుగుదలని గమనించవచ్చు. అంతేకాకుండా, మీరు మెరుగైన వినియోగదారు అనుభవాన్ని పొందుతారు.
- SSL/TLS ముగింపు – రివర్స్ ప్రాక్సీతో, SSL/TLS కనెక్షన్లను ఎన్క్రిప్ట్ చేయడం మరియు డీక్రిప్ట్ చేయడం అతుకులుగా మారుతుంది మరియు మీ బ్యాకెండ్ సర్వర్లు ఈ పనిని భరించాల్సిన అవసరం లేదు, తద్వారా వాటి లోడ్ తగ్గుతుంది.
HAProxyని రివర్స్ ప్రాక్సీగా ఎలా కాన్ఫిగర్ చేయాలి
HAProxy వంటి రివర్స్ ప్రాక్సీ ఎందుకు అవసరమో వివరించిన తర్వాత, అనుసరించాల్సిన కాన్ఫిగరేషన్ దశలను ఇద్దాం.
దశ 1: HAProxyని ఇన్స్టాల్ చేయండి
మీరు బహుశా మీ సిస్టమ్లో ఇప్పటికే HAProxyని ఇన్స్టాల్ చేసి ఉండవచ్చు. అలా అయితే, ఈ దశను దాటవేయండి. అయితే, దీనికి కొత్త ఎవరైనా, HAProxyని ఇన్స్టాల్ చేయడానికి కింది ఆదేశాన్ని అమలు చేయండి:
$ సుడో ఆప్ట్ ఇన్స్టాల్ హ్యాప్రాక్సీ
మేము దీన్ని ఇప్పటికే మా విషయంలో ఇన్స్టాల్ చేసాము.
దశ 2: HAProxy కాన్ఫిగరేషన్ ఫైల్ను సవరించండి
HAProxy ఒక కాన్ఫిగరేషన్ ఫైల్ను కలిగి ఉంది, దానిని మీరు మీ రివర్స్ ప్రాక్సీగా కాన్ఫిగర్ చేయడానికి తప్పనిసరిగా యాక్సెస్ చేయాలి మరియు సవరించాలి. టెక్స్ట్ ఎడిటర్ని ఉపయోగించి కాన్ఫిగర్ ఫైల్ను తెరవడం ద్వారా ప్రారంభించండి.
$ సుడో నానో /etc/haproxy/haproxy.cfgఇది తెరిచిన తర్వాత, ఇది డిఫాల్ట్ మరియు గ్లోబల్ విభాగాల కోసం ప్రాథమిక కాన్ఫిగరేషన్లను కలిగి ఉందని గమనించండి. మేము తప్పనిసరిగా మరో రెండు విభాగాలను సృష్టించాలి: ఫ్రంటెండ్ మరియు బ్యాకెండ్. క్లయింట్ అభ్యర్థనలను స్వీకరించాల్సిన ఇంటర్ఫేస్లను ఫ్రంటెండ్ నిర్వచిస్తుంది, అయితే బ్యాకెండ్ ట్రాఫిక్ను నిర్వహించే సర్వర్లను నిర్దేశిస్తుంది.
ఈ ఉదాహరణ కోసం, మేము పోర్ట్లు 80 మరియు 81 నుండి క్లయింట్ అభ్యర్థనలను ఆమోదించడానికి ఫ్రంటెండ్ను కాన్ఫిగర్ చేస్తాము. మేము ట్రాఫిక్ను పంపిణీ చేయడానికి ఒక నియమాన్ని సృష్టిస్తాము అంటే పోర్ట్ 80 నుండి కనెక్షన్లు ఒక నిర్దిష్ట సర్వర్కు మళ్లించబడతాయి, అయితే పోర్ట్ 81 నుండి ఉన్నవి వేరొక దానికి వెళ్తాయి. సర్వర్. మా ఫ్రంటెండ్ విభాగం కింది వాటిలో చూపిన విధంగా ఉంది:
మేము backend2 మరియు linux_backend అనే రెండు బ్యాకెండ్ సర్వర్లను సృష్టించాము కాబట్టి, మేము రెండు సర్వర్ల కోసం బ్యాకెండ్ విభాగాలను తప్పనిసరిగా సృష్టించాలి. మా “సర్వర్1” మరియు “సర్వర్2”కి ట్రాఫిక్ని ఏ IP పంపిణీ చేయాలో మేము పేర్కొంటాము.
కాన్ఫిగరేషన్ ఫైల్ సవరించబడిన తర్వాత, దానిని సేవ్ చేసి, ఫైల్ నుండి నిష్క్రమించండి. మీ అవసరాలను బట్టి HAProxyని కాన్ఫిగర్ చేయడానికి అనేక మార్గాలు ఉన్నాయని గమనించండి. మా విషయంలో, మేము మా ట్రాఫిక్ను రూట్ చేయడానికి పేర్కొన్న IP చిరునామాను ఉపయోగించి వెబ్ సర్వర్లను సృష్టిస్తాము. మీ వెబ్ సర్వర్లకు మరియు మీరు ఏ పోర్ట్లో వినాలనుకుంటున్నారో వాటికి సరిపోయేలా IPలను మార్చండి.
దశ 3: చెల్లుబాటును ధృవీకరించండి
HAProxyతో, మీ కాన్ఫిగర్ ఫైల్ చెల్లుబాటులో ఉందో లేదో ధృవీకరించడానికి మిమ్మల్ని అనుమతించే ఆదేశం ఉంది. కింది ఆదేశాన్ని అమలు చేయండి మరియు మీకు ఏ అవుట్పుట్ లభిస్తుందో చూడండి:
$ sudo haproxy -c -f /etc/haproxy/haproxy.cfg
మీరు ఇలాంటి అవుట్పుట్ను పొందినట్లయితే, మీ కాన్ఫిగరేషన్ ఫైల్ చెల్లుబాటు అయ్యేదని నిర్ధారిస్తుంది. లేకపోతే, అది లోపాలను పెంచుతుంది.
దశ 4: రివర్స్ ప్రాక్సీని పరీక్షించండి
“కర్ల్” వంటి ఆదేశాన్ని ఉపయోగించి, మీరు మీ వెబ్ సర్వర్కి ట్రాఫిక్ను పంపవచ్చు మరియు అది ఎలా స్పందిస్తుందో చూడవచ్చు. మా విషయంలో, మేము వెబ్ సర్వర్లను సృష్టించడానికి Python3ని ఉపయోగిస్తాము.
“కర్ల్” ఆదేశాన్ని అమలు చేయడం వలన మా వెబ్ సర్వర్ పేర్కొన్న పోర్ట్ను వింటుందని మరియు HAProxy మా కాన్ఫిగరేషన్ ఫైల్ ఆధారంగా పేర్కొన్న సర్వర్కు ట్రాఫిక్ను పంపిణీ చేసిందని నిర్ధారిస్తుంది.
మీరు బ్రౌజర్లో మీ వెబ్ సర్వర్ని కూడా యాక్సెస్ చేయవచ్చు మరియు రివర్స్ ప్రాక్సీ పనిచేస్తుందని నిర్ధారించవచ్చు.
క్లయింట్ పరికరాలు ఉపయోగించే పోర్ట్ను బట్టి ఉపయోగించగల రెండు వెబ్ సర్వర్లు మా వద్ద ఉన్నందున, వేరొక వెబ్ సర్వర్ను వేరే పోర్ట్కు బైండ్ చేసి, ఏమి జరుగుతుందో చూద్దాం.
క్లయింట్ అభ్యర్థన పోర్ట్ 81 ద్వారా పంపబడిందని గుర్తించిన తర్వాత HAProxy మా ట్రాఫిక్ను రెండవ బ్యాకెండ్ సర్వర్కు పంపినట్లు క్రింది అవుట్పుట్ చూపిస్తుంది, ట్రాఫిక్ పంపిణీ ఊహించిన విధంగా పని చేస్తుందని నిర్ధారిస్తుంది.
HAProxyని రివర్స్ ప్రాక్సీగా ఎలా కాన్ఫిగర్ చేయాలి.
ముగింపు
మీ వెబ్ సర్వర్ కోసం రివర్స్ ప్రాక్సీ కోసం HAProxy ఒక అద్భుతమైన ఎంపిక. దీన్ని కాన్ఫిగర్ చేయడం సూటిగా ఉంటుంది. క్లయింట్ అభ్యర్థనల కోసం ఏ పోర్ట్ వినాలి మరియు లోడ్ బ్యాలెన్సింగ్ కోసం ఏ నియమాలను ఉపయోగించాలో మాత్రమే పేర్కొనండి. అప్పుడు, ఉపయోగించడానికి బ్యాకెండ్ సర్వర్లను జోడించండి మరియు మీరు మీ రివర్స్ ప్రాక్సీని అప్ మరియు రన్ చేయగలుగుతారు. ఈ పోస్ట్ అనుసరించాల్సిన దశలను భాగస్వామ్యం చేసింది మరియు మీరు HAProxyతో సౌకర్యంగా ఉండేలా చూసుకోవడానికి ఒక ఉదాహరణను ప్రదర్శించింది.