Qof wuxuu ku tilmaamayaa host HAProxy dadweyne ab gudaha shirkadda ah, wuxuuna waydiiyaa sababta browserku u raaci kari waayo. Proxy-gu wuxuu abka ku gaaraa VPN-kiisa, dib u jeedintu waxay soo celisaa header Location, browserkuna wuxuu ka dib isku dayaa cinwaan ku jira tunnelka oo keliya. Dibadda, boggu si fudud ayuu u laalaadaa. Go'aanku waa ku saabsan qaybta furta isku-xidhka labaad, taasina waa waxa kala sooca dib u jeedinta iyo backendka.

Laba waddo oo isku mid ugu eg habaynta

Dib u jeedintu waxay is-dhaafsiga ku dhamaysataa jawaab. Macmiilku wuxuu akhriyaa Location wuxuuna bilaabaa codsi cusub meesha uu ku sugan yahay, taas oo ah shabakadda aadan waligaa maamulin. Proxy-gu hadda lama xiriiro. Wax walba oo xiga waxay ku xiran yihiin DNS-ka macmiilka, waddada iyo kalsoonida, sidaas darteed natiijadu way kala duwan tahay meesha uu isticmaaluhu browserka ku furay:

GET /app        client -> proxy
302 Location    proxy  -> client   (http://10.40.0.20:8080/)
GET /app        client -> 10.40.0.20:8080   client network, no route

Backendka proxy-gu wuxuu cagta labaad ku hayaa dhinaca serverka. Proxy-gu wuxuu ku furaa waddada uu hore u lahaa, macmiilkuna wuxuu la hadlaa hal magac dadweyne. Haddii tunnelku go'o, macmiilku wuxuu helaa khalad halkii URL uu raaci kari waayo. Farqigaas ayaa sidoo kale ka dhigaya guuldarada mid la ogaan karo, sababtoo ah khaladku wuxuu ka soo muuqdaa meesha logs-ku yaallaan:

GET /app        client -> proxy
GET /app        proxy  -> 10.40.0.20:8080   over the VPN
response        proxy  -> client

Dukumentiga dib u jeedinta HAProxy wuxuu sawiraa sax ahaan xariiqdan: in macmiilka lagu jawaabo dib u jeedin waa fal ka duwan in codsiga loo gudbiyo backend. Labada tilmaamood waxay ku yaallaan dhowr sadar gudaha fayl habayn ah, waxna si cad u kala duwan ayay u dhaqmaan. Mid baa codsiga dhammeeya, tan kalena waxay bilaabataa codsi labaad oo proxy-gu leeyahay.

Waxa browserku u baahan yahay oo VPN-ka serverku aanu siin

Codsiyada browserka laftiisu wuxuu u baahan yahay afar shay oo laga yaabo in aanu haysan: jawaab DNS oo magaca gaarka ah, waddo loo maro cinwaankaas, ogolaansho lagu gaaro adeegga dhegeysanaya, iyo kalsooni certifiga adeeggaas soo bandhigo. Hostka proxy-gu wuxuu leeyahay afartaas oo dhan tunnelkiisa. Midkoodna uma gudbo macmiil aan waligiis tunnelkaas ku jirin, sababtoo ah tunnelku waa sifo hostka, ma aha URL-ka.

Farqigaas ayaa sharraxaya calaamadda «ku dhow inuu shaqeeyo». Codsiga koowaad wuu guuleystaa, bar-cinwaanku wuu is beddelaa, ka dibna isku-xidhku wuu laalaadaa ama guuldareystaa iyadoo proxy-gu caafimaad qabo waqtiga oo dhan. Waxba kama jiraan habaynta proxy-ga, waxna kama caawin karo macmiil aan waddo u lahayn 10.40.0.20. Ama macmiilku waddo ayuu helaa, ama proxy-gu waa inuu isku-xidhka u sameeyaa isaga.

Marka proxy-gu keliya gaari karo abka

Ka saar ficilka dib u jeedinta oo codsiyadaas u dir backend tilmaamaya cinwaanka gaarka ah. Frontendku wuxuu hayaa magaca dadweyne halka backendku go'aaminayo halka codsigu dhab ahaan tago. Waxba kama beddelmo waddada macmiilka, sababtoo ah proxy-gu wuu joojiyaa sharraxa goobta oo isagu noqdaa goobta. Ab si ula kac ah u dhegeysta port gudaha 8080, block serverku wuu gaaban yahay:

backend private_app
    mode http
    option httpchk GET /health
    server app1 10.40.0.20:8080 check

U akhri blockkaas sida odhaah ku saabsan shaxda waddooyinka proxy-ga: 10.40.0.20 waa in laga gaaro hostka proxy-ga laftiisa, taas oo halkan ka dhigan in la maro interface VPN ee aan la marin waddada caadiga ah. Erayga muhiimka ah check wuxuu kaliya soo sheegaa waxa waddadaas qabato, waddada caafimaadkuna waa in ay ku jirtaa abka, haddii kale baaritaan kastaa serverku wuu calaamadeeyaa inuu hoos u dhacay. Baaritaan gudba waxba kama caddeeyo macmiilka mana beddelo siyaasadda go'aamisa cidda isticmaali karta backendka.

Qaybtan ma aha frontend buuxa. Hayso dhegeystaha, xaqiijinta, doorashada host iyo waddada la ogolaaday, iyo qaanuunka go'aamiya cidda gabi ahaan gaari karta abka. La jaanqaad protocol-ka backendka sidoo kale, sababtoo ah backend HTTPS wuxuu u baahan yahay xaqiijin certif iyo habayn aqoonsiga server, ka boodidda baaritaankaasna waxay isku-xidhka gaarka ah u beddeshaa mid aan la xaqiijin.

Xaqiiji waddada soo-noqodka labada dhinac ka hor intaadan ku dhawaaqin guul. Abku hadda wuxuu arkaa isku-xidh ka yimid proxy-ga, sidaas darteed logs-kiisa iyo metadata kasta oo ku saabsan cinwaanka macmiilka waxay sharraxaan proxy-ga haddii aadan si kale u habayn. Go'aanso sida aqoonsiga iyo cinwaannada la gudbiyay loo maareeyo, oo tijaabi go'aankaas halkii aad ka fikiri lahayd.

Dib u jeedinnada abka laftiisa weli gudaha ayay tilmaamaan

Gudbinta codsiga koowaad waa kala bar isku-dhafka oo keliya. Abku wuxuu soo saari karaa dib u jeedinno sax ah, URL-yo hanti oo adag, ama cookies ku xaddidan magaca uu gudaha ku yaqaan, mid kastana wuxuu browserka dib ugu celiyaa cinwaan uu gaari kari waayo. Header Location oo tilmaamaya magaca gudaha wuxuu u eg yahay dhibaatada asalka ah, taasina waa sababta loogu qaldo inuu yahay guuldarada proxy-ga.

Habee URL-ka dibadda ee abku diiwaangeliyay iyo xulashooyinka proxy-ga, ka dibna ka dhig header Host mid waafaqsan hostka macmalka ah iyo filashooyinka certifka. Cookie ku xaddidan magaca gudaha kuma soo noqon doono magaca dadweynaha, wareegga gelitaanka ee xigana waxaa loo akhriyaa khalad xaqiijin. Marka hore beddel URL-ka dibadda, dib u tijaabi profile browser nadiif ah, oo filo in habaynta badhkeed la raray ay soo saarto gelitaan guuleysta iyo kulan isla markiiba dhinta.

Kalsoonow metadata la gudbiyay oo kaliya laga helo proxy-ga loo qoondeeyay. Header uu macmiil kastaa dhigi karo waa in aanu waligiis noqon qiimaha ogolaansho, haddii kale proxy-gu wuxuu noqdaa dariiq uu soo-wade ka sheegan karo aqoonsiga qof kale. Qaanuunkaas waa ka madax banaan su'aasha dib u jeedinta wuuna ka badbaadaa dib-u-habayn kasta oo dambe.

Go'aanso nooca naqshadeed ee dhabta ah ee aad haysato

Haddii isticmaalayaasha oo dhan ay hore u hayaan gelitaan VPN la oggolaaday, dib u jeedin loo maro URL gaar ah waxay noqon kartaa naqshad ula kac ah. Xaqiiji shuruuddaas si cad halkii aad ka malayn lahayd, sababtoo ah labada naqshad waxay u adeegaan dad aad u kala duwan. Midkood kama shaqeeyo gabi ahaan shabakadda huteel, tan kalena waxay abka u bandhigtaa qof kasta oo culeys karo URL-ka dadweynaha. Farqigaas waa inuu ku jiraa qoraalka naqshadda.

Baaritaanka ka socodsii mishiin ku jira shabakadda isticmaalayaasha oo raac boodh kasta oo browserku sameeyo, ee ma aha oo kaliya jawaabta koowaad. La soco bar-cinwaanka iyo codsi kasta oo xiga, sababtoo ah hal URL sax ah oo ku jira tag hanti ayaa ku filan inuu jebiyo socodka boodhka koowaad gudbay. Gelitaanku waa inuu ku shaqeeyaa magaca dadweynaha, khayraadka la diidi lahaana waa inay sii diidmo yihiin.

Daabacaadda reverse proxy waa go'aan gelitaan oo gaar ah, ma aha fidin hufan oo VPN-ka proxy-ga loo fidiyo qof kasta oo culeys karo URL-kiisa dadweynaha. Labaduba shaxda way isku eg yihiin, waxayna ku kala duwan yihiin cidda loo oggolaaday inay gudaha gasho. Go'aansashada su'aashaas ka dib hirgelinta waa sida ab gudaha uu si shil ah u noqdo mid dadweyne.

Qor midka aad dhistay iyo sababta. Qofka xiga ee taabta habaynta wuxuu u qaadan doonaa tan kale. Hal dib u jeedin oo loo daray fududayn ayaa ku filan inuu dib u abuuro guuldaradii asalka ahayd, calaamadduna waxay u ekaan doontaa si sax ah tan aad hadda hagaajisay.

Maqaallo la xiriira