MySQL localhost iyada oo loo marayo VPN: wali macneheedu waa habka gudaha
Xogta macluumaadka ee app-ku u yaqaanno localhost waxay ku taal server-ka, ma aha laptop-kaaga. Isticmaal dhegeyste gaar ah ama gudbin SSH, ka dib ku qasab macmiilka TCP.
Barnaamijka ku jira server-ka xafiiska wuxuu ku xirmayaa MySQL localhost, waxaad koobiyaa magaca martigeliyahaas macmiil desktop, oo xiriirku wuu fashilmaa ama wuxuu furaa xogta kale. VPN waxba kama beddelin macnaha erayga: localhost wali waxay tilmaamaysaa mishiinka macmiilka ku socda. VPN waxay dhaqaajisay baakadaha, ma aha isku-xirka. Go'aami barta ugu dambeysa ee laptop-ku waa inuu gaaro ka hor inta aadan taaban waddo.
Tallaabo 1: go'aami barta ugu dambeysa ee laptop-ku waa inuu gaaro
Labada naqshadba waa sharci oo waxay ka jawaabaan su'aalo kala duwan. Helitaanka tooska ah waxay ka dhigan tahay in xogta ay dhegeysato ciwaan gaar ah oo tunnel-ku gaaro, laptop-kuna wuxuu ku xirmaa ciwaankaas. Helitaanka la gudbiyay waxay ka dhigan tahay in xogtu ku sii socoto loopback oo fadhi SSH uu dekedda u qaado mishiinkaaga. Mid si ula kac ah u dooro, maxaa yeelay isku-darkoodu wuxuu soo saaraa xiriir u shaqeeya sabab khaldan.
Helitaanka tooska ah, ka hel magaca ama ciwaanka gaarka ah ee martigeliyaha xogta iyo dekeddiisa qofka maamula. Ciwaanka albaabka VPN ma aha ciwaanka xogta haddii aanay isku mishiin ahayn. Kadib xaqiiji in dhegeystuhu runtii ku xiran yahay isku-xirkaas, maxaa yeelay waddo loo maro isku-xir ma abuurto dhegeyste diyaar.
Tallaabo 2: gudbi dekedda kaliya haddii dhegeystuhu gudaha ku sii jiro
Haddii xogtu tahay inay kaliya ku sii socoto loopback, ku gudbi SSH oo xidh cidhifka gudahaba loopback. Ciwaanka xidhka bidix waa laptop-kaaga; bartilmaameedka midig waxaa laga fasiraa dhinaca server-ka SSH, sida tixraaca OpenSSH u sharraxayo. Labadan door rogana waxay tahay sababta caadiga ah ee gudbintu u muuqato mid shaqeynaya laakiin aan waxba ku xirmin.
ssh -N -o ExitOnForwardFailure=yes -L 127.0.0.1:13306:127.0.0.1:3306 [email protected]
ss -ltn 'sport = :13306'
Haddii SSH uu ku soo dego martigeliye boodh ah halkii uu ku soo degi lahaa martigeliyaha xogta, loopback-ka midig wuxuu tilmaamayaa martigeliyaha boodhka, bartilmaameedkana waa in loo beddelo ciwaan uu martigeliyahaas gaaro. ExitOnForwardFailure wuxuu qabtaa fashilka sameynta gudbinta, laakiin ma caddeeyo in xiriirada dambe ee bartilmaameedka ay guuleystaan. Daaqadda furaha martigeliyaha ha u furnaato, oo ha u soo bandhigin dekedda gudbinta LAN-kaaga oo dhan adigoo ku xidhaya dhammaan isku-xirka.
Iso jooji haddii xogtu tahay inay kaliya ku sii socoto loopback oo aadan isticmaali karin SSH. Markaas helitaanka tooska ah waa naqshad khaldan, ma aha habayn la qasbo.
Tallaabo 3: ku qasab macmiilka TCP
Unix, macmiilka MySQL ee la siiyo localhost wuxuu si caadi ah u doortaa socket Unix, sidaas darteed beddelka dekedda kaliya wuxuu ka tagi karaa isagoo raadinaya socket aan wax xiriir ah la lahayn gudbintaada. Isticmaal borotokoolka TCP cad iyo ciwaanka loopback si macmiilku u furo xiriir dekedda gudbintaada.
mysql --protocol=TCP --host=127.0.0.1 --port=13306 --user=DB_USER --password
Xulashada furaha sirta ee aan qiimo lahayn waxay weyddiisaa halkii ay sirta ku ridi lahayd khadka amarka, waana caadada mudan in la hayo. Qalabka kale waxay leeyihiin beddelkooda u gaar ah isla farqigaas, qaar ka mid ah darawalladuna localhost si gaar ah ayay ula dhaqmaan. Hubi waxa macmiilkaagu sameeyo halkii aad ka malayn lahayd in calanku soo gudbay. Akoonka xogtana wuxuu u baahan yahay fasax u dhigma isha uu server-ku arko, waana martigeliyaha gudbinta, ma aha laptop-kaaga.
Iso jooji haddii qalabka aan lagu qasbi karin TCP. Markaas isticmaal macmiil kale, ama isticmaal helitaan toos ah oo dhegeystaha gaarka ah.
Tallaabo 4: caddee barta aad runtii gaartay
Weydii server-ka waxa uu u malaynayo in xiriirku yahay. Doorsoomayaasha magaca martigeliyaha, dekedda iyo socket-ka waxay kuu sheegaan haddii aad TCP ku timid iyo dhegeyste kee jawaabay, liiska xiriiraduna wuxuu muujinayaa ciwaanka isha ee server-ku diiwaangeliyay. Caddayntaas way ka faa'iido badan tahay beddel waddo oo kale.
mysql --protocol=TCP -h 127.0.0.1 -P 13306 -u DB_USER -p -e "SELECT @@hostname, @@port, @@socket"
Diiwaangeli barta aad isku dayday: socket Unix gudaha, dekedda gudbintaada ama dhegeystaha gaarka ah. Saddexdan fashil waxay leeyihiin hagaajinno kala duwan, beddelka waddada VPN inta macmiilku wali la hadlayo localhost khaldan waa dadaal lumay. Sidoo kale ku hay aqoonsiga SSH iyo aqoonsiga xogta oo gooni ah qoraallada, maxaa yeelay fashilka mid ka mid ah macmiil desktop wuxuu u muuqdaa sida fashilka midka kale. Kadib ka saar gudbinta markaad dhamayso.
Liistadu waxay dhammaataa markaad sheegi karto barta, borotokoolka macmiilka, ciwaanka isha ee server-ku arkay iyo fasaxa u oggolaaday. Afar xaqiiqo, oo dhibaatada xiriirka xigta waxay qaadataa daqiiqado halkii galab.