Git 403 VPN:n ollessa yhdistettynä: löydä vastaaja
403 on vastaus, ei tuomio VPN:stä. Selvitä, mikä komponentti hylkäsi pyynnön, vertaa sitten yhtä muuttujaa kerrallaan verkkojen välillä ja kirjaa, mikä muuttui.
Se toimii toimiston Wi-Fi-verkossa ja epäonnistuu puhelimen hotspotissa, kun VPN on yhdistettynä molemmissa tapauksissa. Git palauttaa 403:n ja virhe on kolme riviä pitkä. Houkutus on pitää hotspotia syynä ja muuttaa verkkoasetuksia, kunnes jokin liikahtaa. HTTP 403 tarkoittaa, että palvelin ymmärsi pyynnön ja hylkäsi sen, joten hyödyllinen kysymys on mikä palvelin, ja hyödyllinen seuraava askel on vertailu, joka muuttaa yhtä asiaa kerrallaan.
Lue tila ennen verkkoa
403 ei ole epäonnistunut haku, TCP-aikakatkaisu eikä kesken jäänyt TLS-kättely. Se on päätös, jonka teki jokin, joka jäsensi pyyntösi.
Kunnes tiedät, mikä tuon päätöksen teki, jokainen kokeilemasi verkkomuutos on arvaus, jolla on uskottava tarina.
Kuka voi vastata 403:lla?
Repositorion sovellus on vain yksi ehdokas. Välityspalvelin, yhdyskäytävä tai suodatuspalvelu voi istua sen edessä ja vastata ensimmäisenä, ja asiakas näkee saman tilan kummassakin tapauksessa. Tallenna tila, asiaankuuluvat otsikot ja puhdistettu virheensisältö ja korreloi ne sitten valtuutetun palvelun lokeihin. Etä-URL ja tosiasiassa saavutettu päätepiste voivat myös erota DNS:n tai välityspalvelimen kokoonpanon vuoksi, joten tarkista määritetty osoite ja pyynnön tekevä prosessi.
Jos hylkäys ei koskaan saavuttanut repositoriota, sen lokit ovat hiljaa, ja se hiljaisuus on todiste.
Vertaa yhtä muuttujaa kerrallaan
Hotspot-vertailu on hyödyllinen, koska se rajaa ongelmaa, ei siksi, että se todistaisi syyn. Kaksi verkkoa voivat erota samanaikaisesti osoitteistuksessa, IP-perheessä, välityspalvelimessa, TLS-neuvottelussa ja lähtevän liikenteen käytännössä.
Muuta yhtä asiaa yritystä kohden ja kirjaa loput. Alla oleva taulukko on vähimmäisasia, jota pidän muistiinpanossa tätä tehdessäni:
| Keep constant | Record when it changes |
|---|---|
| Repository, operation and credentials | Resolved address and IP family |
| Git process and configuration | Proxy use and the responding component |
| Intended VPN profile | Actual route and exit seen by the service |
Yksi rivi, joka eroaa toimivan ja epäonnistuvan ajon välillä, on paikka, johon seuraava tunti menee.
Kiertotie on todiste, ei selitys
Toisen osoiteperheen pakottaminen voi muuttaa kohteen, reitin tai valittavan välittäjän, joten se voi muuttaa tulosta todistamatta, että IPv6 on yhteensopimaton repositorion kanssa. Toinen neuvoteltu TLS-versio on samaan luokkaan kuuluva havainto. Kumpikaan ei oikeuta poistamaan varmenteiden tarkistuksia käytöstä tai heikentämään yhteyttä. Seuraa hylkäävän komponentin käytäntöä ja lokeja todelliseen päätökseen asti sen sijaan, että pysähdyt ensimmäiseen muutokseen, joka toimii.
Kiertotie, jota et osaa selittää, epäonnistuu uudelleen jossain muualla.
Kirjoita raportti, joka korjataan
Anna vastanneen komponentin omistajalle sama toimenpide, kaksi polkua ja komponentti, joka sanoi ei. Poista valtuutusotsikot, upotetut tunnistetiedot ja repositorion yksityiset tiedot ennen kuin jaat mitään.
Hyödyllinen raportti on lyhyt, toistettava ja nimeää kerroksen, ei oiretta.
Tarkistus, jonka teen, järjestyksessä
Vahvista etä-URL ja ratkaistu päätepiste ja tallenna sitten tila ja otsikot epäonnistuvasta ajosta. Toista sama toimenpide toisessa verkossa ja vertaa kahta kirjausta.
Vie sitten tuo ero komponentille, joka vastasi:
- Välityspalvelimen kokoonpano asiakkaassa ja verkossa.
- Lähtevän liikenteen käytäntö tai suodatus repositorion edessä.
- Tunnuksen tai tilin laajuus, mukaan lukien vanheneminen ja SSO-ehdot.
- Repositorion käyttöoikeus identiteetille, jota tunnus edustaa.
Tilan semantiikka itsessään on RFC 9110-standardissa, ja se kannattaa lainata, kun kirjoitat raporttia.