Deluje na pisarniškem Wi-Fi in ne uspe na mobilni točki telefona, pri čemer je VPN povezan v obeh primerih. Git vrne 403 in napaka je dolga tri vrstice. Skušnjava je, da bi mobilno točko imeli za vzrok in spreminjali omrežne nastavitve, dokler se kaj ne premakne. HTTP 403 pomeni, da je strežnik zahtevo razumel in jo zavrnil, zato je koristno vprašanje kateri strežnik, koristen naslednji korak pa je primerjava, ki spreminja eno stvar naenkrat.

Preberite status pred omrežjem

403 ni neuspešno iskanje, časovna omejitev TCP ali rokovanje TLS, ki se nikoli ni končalo. To je odločitev, ki jo je sprejelo nekaj, kar je razčlenilo vašo zahtevo.

Dokler ne veste, kaj je sprejelo to odločitev, je vsaka omrežna sprememba, ki jo poskusite, ugibanje z verjetno zgodbo.

Kdo lahko odgovori s 403?

Aplikacija repozitorija je le en kandidat. Posrednik, prehod ali storitev filtriranja lahko stoji pred njo in odgovori prva, odjemalec pa v vsakem primeru vidi isti status. Ohranite status, ustrezne glave in očiščeno telo napake, nato jih povežite z dnevniki pooblaščene storitve. Oddaljeni URL in dejansko dosežena končna točka se lahko razlikujeta tudi zaradi DNS ali konfiguracije posrednika, zato preverite nastavljeni naslov in postopek, ki pošilja zahtevo.

Če zavrnitev ni nikoli prispela v repozitorij, bodo njegovi dnevniki tihi, in ta tišina je dokaz.

Primerjajte eno spremenljivko naenkrat

Primerjava z mobilno točko je koristna, ker zoži težavo, ne zato, ker dokazuje vzrok. Dve omrežji se lahko hkrati razlikujeta v naslavljanju, družini IP, posredniku, pogajanju TLS in izhodni politiki.

Spremenite eno stvar na poskus in zapišite ostalo. Spodnja tabela je minimum, ki ga imam v zapisku, medtem ko to počnem:

Keep constantRecord when it changes
Repository, operation and credentialsResolved address and IP family
Git process and configurationProxy use and the responding component
Intended VPN profileActual route and exit seen by the service

Ena vrstica, ki se razlikuje med delujočim in neuspešnim izvajanjem, je kraj, kam gre naslednja ura.

Obhod je dokaz, ne razlaga

Vsiljevanje druge družine naslovov lahko spremeni cilj, pot ali posrednika, ki je izbran, zato lahko spremeni rezultat, ne da bi dokazalo, da je IPv6 nezdružljiv z repozitorijem. Druga pogajana različica TLS je opažanje v isti kategoriji. Nobeno od tega ne opravičuje izklopa preverjanja potrdil ali slabitve povezave. Sledite politiki in dnevnikom gradnika, ki je zavrnil, do dejanske odločitve, namesto da bi se ustavili pri prvi spremembi, ki deluje.

Obhod, ki ga ne znate razložiti, bo spet spodletel drugje.

Napišite poročilo, ki bo popravljeno

Dajte lastniku gradnika, ki je odgovoril, isto operacijo, dve poti in gradnik, ki je rekel ne. Odstranite glave za avtorizacijo, vdelane poverilnice in podrobnosti zasebnega repozitorija, preden karkoli delite.

Koristno poročilo je kratko, ponovljivo in poimenuje plast, ne simptoma.

Preverjanje, ki ga izvajam, po vrsti

Potrdite oddaljeni URL in razrešeno končno točko, nato zajemite status in glave iz neuspešnega izvajanja. Ponovite isto operacijo v drugem omrežju in primerjajte dva zapisa.

Nato odnesite to razliko gradniku, ki je odgovoril:

  • Konfiguracija posrednika na odjemalcu in v omrežju.
  • Izhodna politika ali filtriranje pred repozitorijem.
  • Obseg žetona ali računa, vključno s potekom in pogoji SSO.
  • Dovoljenje repozitorija za identiteto, ki jo žeton predstavlja.

Sama semantika statusa je v RFC 9110, in vredna je navedbe, ko pišete poročilo.

Sorodni članki