API-gu wuxuu ka jawaabaa Safari-ga isla taleefanka, halka codsiga abku uu dhamaado waqti. Farqigaas badanaa ma aha tunnel-ka: ab wacaya adeeg gudaha ah wuxuu sameeyaa codsi HTTPS caadi ah, VPN-ka hore ugu jira qalabka ayaa kaliya go'aaminaya haddii codsigaas uu leeyahay waddo. Isticmaalka tunnel labaad gudaha abka waa go'aan badeeco, ma aha hagaajin waqti-dhammaad. Tan soo socota waxay kala saartaa fashilka meesha uu ka dhaco, iyada oo isticmaalaysa dusha khaladaadka ee abku hore u leeyahay.

Ka bilow khaladka, ma aha tunnel-ka

URLSession waxay u sheegtaa fashilada gaadiidka sida NSError qiimayaal gudaha NSURLErrorDomain, koodkaana waa caddaynta ugu jaban ee la heli karo. Ka hor inta aanad beddelin wax qaabeyn ah, diiwaangeli koodkaas oo la socda magaca martigeliyaha fashilmay iyo waqtiga shaqadu qaadatay. Waqti-dhammaad, fashil magac iyo fashil kalsooni ayaa isku mid ka muuqda shaashadda waxayna u baahan yihiin saddex hagaajin oo kala duwan. Marka hore kala saar, ka dibna akhri qaybta fasalkaas.

Cabbiraadaha shaqadu waxay ka jawaabaan su'aasha xigta, haddii xiriir waligiis la sameeyay, taas oo kala soocda codsiga aan waligiis waddo lahayn iyo kan uu server-ku aad u daahay uga jawaabay. Mid ka mid ah kuwanu ma u baahna beddelka tunnel-ka; waxay u baahan tahay in cilmi-baarista codsiga laftiisa lagu daabaco meel aad ka akhrin karto.

Xallinta magacyada ayaa fashilma ka hor wax kasta oo kale

Magac xafiis oo gaaban sida api.corp.example badanaa wuxuu ku tiirsan yahay domain raadin oo taleefanku aanu qaadan, sidaas darteed abku wuxuu xalliyaa magac ku jira oo kaliya gudaha dhismaha. NSURLErrorCannotFindHost waa saxeexa. Magaca martigeliyaha oo buuxa waa in lagu xalliyaa iyada oo loo marayo resolver kasta oo VPN-ku rakibo, abkuna waa inuu codsadaa qaabka si buuxda u qalma mar kasta oo domainka raadintu aanu dammaanad qaadin. Ku beddelashada magaca cinwaan iyo daminta hubinta shahaadooyinka waxay u rartaa fashilka halkii ay hagaajin lahayd.

Diiwaanka DNS gaar ah iyo shahaado loo soo saaray isla magacaas ayaa ah lammaanaha la taageeray. Wax kasta oo kale waa dariiq lagu gaaro isticmaalayaasha.

Waqti-dhammaadku waa su'aal waddo, ma aha su'aal magac

NSURLErrorTimedOut waxay ka dhigan tahay magaca la xalliyay oo waxba jawaab ma bixin, taas oo tilmaamaysa waddada, siyaasadda baakadaha ama adeegga. Marka tunnel-ka loo qoondeeyo ab kasta, ab kale oo gaara isla server-kaas waxba kama sheego dhismaahaaga, sababtoo ah khariidaddaas lama wadaago. Hubi in bundle-ka aad ordonayso uu ku jiro qoondayntaas, ka dibna hubi in waddada adeeggu loo oggol yahay. Dhismo horumarineed oo lagu rakibay meel ka baxsan qoondaynta ayaa laga yaabaa inuu gabi ahaanba ka baxsan yahay tunnel-ka oo u eg yahay API jabtay.

Isbarbardhig browser-ku wuxuu muujinayaa in ab qalabka ku jira uu leeyahay waddo. Weligiis ma caddeeyo in dhismaahaagu leeyahay, taas ayaa sababta labada imtixaan waa in si gooni ah loo sameeyo.

Fashilada kalsoonidu waxay khuseeyaan magaca ku yaal shahaadada

NSURLErrorServerCertificateUntrusted oo ay la socoto khaladka TLS ee hoostiisa waxay ka dhigan tahay in silsiladda ama hubinta aqoonsiga ay fashilantay. CA gudaha ah waa in lagu kalsoonaado qalabka, shahaado loo soo saaray magac martigeliye kale ayaa wali khalad ah ka dib dib-u-habeyn kasta oo shabakadeed. hagaha App Transport Security ee Apple wali wuxuu khuseeyaa xiriiradan soo-dejiya URL, tunnel-ka ku wareegsan adeeg HTTP caadi ah ma samayso adeeggaas mid ammaan ah laga bilaabo gees ilaa gees.

Hagaaji aqoonsiga ama barkadda kalsoonida oo liiska ka-reebista ka dhig madhan. Ka-reeb gaar ah oo loogu talagalay soo-dejinta aan loo baahnayn ayaa qariya fashilka inta lagu jiro horumarinta ka dibna uga tagaa isticmaale kasta.

Diidmada HTTP waxay ka tirsan tahay abka, ma aha shabakadda

401 ama 403 ka dib gacan-qaadid dhammaatay waxay ka dhigan tahay in codsigii yimid oo adeeggu diiday, markaa su'aasha hadhay waa akoon, dhageystaha token, baaxad ama fure. Diiwaangeli koodka xaaladda iyo magaca martigeliyaha, waligaa ha diiwaangelin token-ka sidaha ama jidhka jawaabta. Waqtaas tunnel-ku wuxuu qabanayaa shaqadiisa, isbeddellada shabakadeed ee dheeraadka ah waxay kaliya dib u dhigaan hagaajinta dhabta ah.

Shaxdu waa kala-saarista lagu hayo agagaarka terminal-ka: hal saf oo fashil kasta oo abku dhab ahaan soo sheegi karo. Daabac koodka ka hor inta aanad akhrin, sababtoo ah safka aad doorato ayaa go'aaminaya qaybta aad ka shaqeynayso.

Where it failsWhat the app seesFirst check
name resolutionNSURLErrorCannotFindHost (-1003)resolve the fully qualified name from the device itself
no path, or no answerNSURLErrorTimedOut (-1001)is this bundle inside the per-app mapping, and is the service path allowed
TLS trustNSURLErrorServerCertificateUntrusted (-1202)does the certificate name match the host, and is the internal CA trusted
service refusalHTTP 401 or 403 after a completed handshakeaccount, token audience, scope or key

Safka kastaa waa ka jaban yahay in la tijaabiyo marka loo eego kan hoostiisa, mid kastaana wuxuu ka saaraa lakab kale oo isla codsigaas ah. Ka soo deg shaxda ilaa safku uu ku beegmo, ka dibna jooji beddelka shabakadda.

Maqaallo la xiriira