Þú opnar innra gáttina í vafra og hún hleðst. Þú keyrir forritið sem kallar á sama hýsil og það mistekst, með skilaboðum sem nefna enga lag. Göngin bera vafrann, svo göngin eru ekki fyrsti grunaði. Fjórir hlutir standa milli beiðninnar þinnar og þjónustunnar, og hver þeirra skilur eftir sig annað fingrafar. Þetta er röðin sem ég fer eftir, byrjað á beiðninni sem forritið sendir í raun, ekki stillingasíðu VPN-biðlarans.

Skoðaðu beiðnina sem forritið sendir í raun

Áður en þú snertir stillingarnar, láttu forritið segja þér hvað það gerir. Upptaka á einni beiðni með proxyinu beinlínis slökkt og einfalt portapróf gefa þér tvær grunnlínur sem næstu skref eru borin saman við. Ef beiðnin heppnast með proxyið slökkt ertu þegar búinn með þrjú af fjórum lögum.

env | grep -i proxy            # Linux/macOS
netsh winhttp show proxy       # Windows, machine-wide
curl -sv --noproxy '*' https://svc.internal/
nc -vz svc.internal 8080

Keyrðu síðustu tvær á sama áfangastað og fylgstu með hvar þær greinast. Vafri sem virkar auk curl sem virkar auk forrits sem virkar ekki þrengja vandamálið að einhverju sem forritið bætir við: proxy, flutningi eða stærð skilaboða.

Forritið erfði proxy sem enginn stillti

Flest HTTP-stöflur lesa proxy-stillingar úr stýrikerfinu sjálfgefið. Fyrirtækis-VPN-biðlari setur oft upp eitt sem hluta af aðgangssniði sínu, svo beiðnir fara út um proxy sem forritarinn nefndi aldrei í kóðanum. Í .NET sækir sjálfgefni handfanginn stillingar úr IE/WinHTTP; Java les -Dhttp.proxyHost; Node hefur ekki innbyggðan proxystuðning fyrr en bókasafn bætir honum við. Mistökin eru sjaldan hrein höfnun, þess vegna byrja menn að skoða þjóninn.

Prófið kostar eina beiðni: slökktu beinlínis á proxyinu á einu handfangi og berðu saman.

var handler = new HttpClientHandler { UseProxy = false };
using var client = new HttpClient(handler);

Ef það heppnast á lagfæringin heima í stillingum forritsins, ekki í göngunum. Endurtaktu úttektina fyrir hvert keyrsluumhverfi í verkefninu, því hvert þeirra les aðra uppsprettu og kannski er aðeins eitt þeirra bilað.

Portið sem þú valdir er ekki portið sem stefnan leyfir

Leiðsögð hýsil er ekki leyfð þjónusta. Fyrirtækjastefna leyfir venjulega útleiðandi vefport og hendir restinni, svo þjónusta á 8080 eða 1883 er óaðgengileg á meðan 443 virkar vel. Vafrinn sannar ekkert hér: hann notar 443 samkvæmt skilgreiningu.

Birtu sömu þjónustu bak við 443 og náðu í hana eftir nafni áður en þú biður um undantekningu. Ef undantekningin er sannarlega nauðsynleg, takmarkaðu hana við eitt uppsprettubil og einn áfangastað og meðhöndlaðu hana sem hluta af skilgreiningu þjónustunnar, ekki sem persónulega lausn einhvers.

Hrátt TCP sem slóðin endurstillir

Langlífar hráar TCP-tengingar eru lagið sem mistekst á ruglingslegastan hátt. Slóð sem leyfir vefumferð getur samt endurstillt eða endurskrifað óvenjulegt útleiðandi TCP, og biðlarinn tilkynnir socker-villu sem lesin er sem bilun. Skilaboða- og atburðaþjónustur bjóða venjulega WebSocket-flutning einmitt fyrir svona net, og skiptingin er val biðlarans, ekki breyting á göngunum.

Skiptu um flutning, prófaðu aftur og breyttu engu öðru í sömu keyrslu. Það eitt-breyta próf segir þér hvort endurstillingin kom frá slóðinni eða þjónustunni.

Tengingar sem loka aðeins á stórum gögnum

Beiðni sem heppnast og deyr svo um sekúndu síðar, en aðeins þegar líkaminn er stór, bendir á stærðarmörk einhvers staðar í miðjunni. Milliliður sem telur bæti skilaboða getur sleppt tengingunni í miðri flutningi, og biðlarinn tilkynnir óeðlilega lokun í stað tímamarka.

Skiptu gögnunum í bita á forritslaginu. Haltu því aðskildu frá MTU-vinnu: að lækka pakkastærð ganganna hjálpar þegar venjulegar TCP-lotur stöðvast á stöðugum bætafjölda, og það gerir ekkert fyrir skilaboð sem milliliður telur of stór.

Hvernig á að greina fjóra í einni ferð

Þrjár athuganir leysa flest tilfelli. Verða mistökin strax eða aðeins með stórum líkama? Heppnast sama beiðni með proxyið slökkt? Breytist útkoman þegar þú skiptir um port eða flutning? Skrifaðu svörin niður fyrir næstu breytingu, því fyrirtækis-VPN auk erfðs proxys auk sjálfgefins gildis forritsins gefa þér þrjár líklegar orsakir í einu.

Haltu einni breytu í hverju prófi og skráðu áfangastaðarhýsilinn sem þú notaðir. Án þeirrar grunnlínu endurtekur næsti maður öll fjögur skrefin frá byrjun.

Tengdir greinar