Dir maacht den internen Portal an engem Browser op an en lued. Dir start d’Applikatioun, déi dee selwechten Host ufuerdert, an se feelt, mat enger Meldung, déi keng Schicht nennt. Den Tunnel dréit de Browser, also ass den Tunnel net deen éischten Verdächtegen. Véier Saachen stinn tëscht Ärer Ufro an dem Service, an all hannerléisst eng aner Signatur. Dëst ass d’Rei, déi ech ofschaffen, ugefaangen mat der Ufro, déi d’App tatsächlech schéckt, an net mat der Astellungssäit vum VPN-Client.

Kuckt d’Ufro un, déi d’App wierklech schéckt

Ier Dir d’Konfiguratioun ufaasst, loosst d’App Iech soen, wat se mécht. Eng Opnam vun enger eenzeger Ufro mam Proxy ausdrécklech ausgeschalt an en einfachen Porttest ginn Iech zwou Grondlinnen, mat deene spéider Schrëtt vergläicht ginn. Wann d’Ufro mam ausgeschaltem Proxy geléngt, sidd Dir schonn dräi vun de véier Schichten duerch.

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

Fëllt déi lescht zwou mat dem selwechten Zil aus a kuckt, wou se sech trennen. En funktionéierende Browser plus en funktionéierende curl plus eng App, déi net funktionéiert, verengen de Problem op eppes, wat d’App bäisetzt: e Proxy, en Transport oder eng Gréisst vun Noriicht.

D’App huet e Proxy geierft, deen keen ageriicht huet

Déi meescht HTTP-Stäck liesen d’Proxy-Konfiguratioun par défaut aus dem Betriebssystem. E Firmen-VPN-Client installéiert dacks ee als Deel vu sengem Zougangsprofil, sou datt d’Ufroe mat engem Proxy erausginn, deen den Entwéckler am Code ni ernimmt huet. An .NET zitt den Default-Handler aus IE/WinHTTP-Astellungen; Java liest -Dhttp.proxyHost; Node huet keng agebaut Proxy-Ënnerstëtzung, bis eng Bibliothéik se derbäisetze. De Feeler ass seelen eng propper Refus, dofir fänken d’Leit un, de Server ze kucken.

Den Test kascht eng Ufro: schalt de Proxy ausdrécklech op engem Handler aus a vergläich.

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

Wann dat geléngt, gehéiert de Fix an d’Konfiguratioun vun der App, net an den Tunnel. Widderholl den Audit fir all Runtime am Projet, well all eng aner Quell liest an nëmmen eng dovun futti ka sinn.

De Port, deen Dir gewielt hutt, ass net de Port, deen d’Politik erlaabt

En gerouteten Host ass keen erlaabte Service. D’Firmenpolitik erlaabt normalerweis erausgoend Web-Porten an dréckt de Rescht erof, sou datt e Service op 8080 oder 1883 net erreechbar ass, während 443 gutt schafft. De Browser beweist hei näischt: hie benotzt 443 par Definitioun.

Publizéiert dee selwechte Service hannert 443 a erreecht e beim Numm, ier Dir eng Ausnam frott. Wann d’Ausnam wierklech noutwenneg ass, begrenzt se op eng Quellberäich an en Zil a behandelt se als Deel vun der Service-Definitioun, net als een senges perséinlechen Ëmwee.

Rohen TCP, deen de Wee zrécksetzt

Laanglieweg roh TCP-Verbindungen sinn déi Schicht, déi am verwirrendsten ausfält. E Wee, deen Webtrafic erlaabt, kann ongewéinlechen erausgoenden TCP trotzdem zrécksetzen oder ëmschreiwen, an de Client mellt e Socket-Fehler, deen als Ausfall gelies gëtt. Messaging- an Event-Servicen liwweren normalerweis en WebSocket-Transport genee fir sou en Netz, an d’Ëmschalten ass eng Client-Optioun, keng Tunnelännerung.

Wiesselt den Transport, testt nach eng Kéier a ännert am selwechte Laf näischt anescht. Dee Test mat enger eenzeger Variabel seet Iech, ob de Reset vum Wee oder vum Service koum.

Verbindungen, déi nëmme bei grousse Payloaden zoumaachen

Eng Ufro, déi geléngt an dann ongeféier eng Sekonn méi spéit stierft, awer nëmmen wann de Kierper grouss ass, weist op eng Gréisstlimit irgendwou an der Mëtt. En Tëschestéck, dat d’Byte vun de Noriichte zielt, kann d’Verbindung an der Mëtt vum Transfer fale loossen, an de Client mellt en anormale Schluss amplaz en Timeout.

Deelt de Payload op Applikatiounsniveau an Stécker. Halt dat getrennt vun der MTU-Aarbecht: eng méi kleng Pakgréisst vum Tunnel hëlleft, wa gewéinlech TCP-Sessiounen op enger konstanter Bytezuel stoe bleiwen, an et mécht näischt fir eng Noriicht, déi en Tëschestéck fir ze grouss hält.

Wéi ee déi véier an engem Passage ënnerscheet

Dräi Observatiounen entscheeden déi meescht Fäll. Geschitt de Feeler direkt oder nëmme mat engem groussen Kierper? Geléngt déiselwecht Ufro mam ausgeschaltem Proxy? Ännert sech d’Resultat, wann Dir Port oder Transport wiesselt? Schreift d’Äntwerten op virun der nächster Ännerung, well e Firmen-VPN plus e geierfte Proxy plus en App-Default Iech gläichzäiteg dräi plausibel Ursaachen ginn.

Halt eng Variabel pro Test a notéiert den Zilhost, deen Dir benotzt hutt. Ouni déi Grondlinn widderhëlt déi nächst Persoun all véier Schrëtt vum Ufank un.

Ähnlech Artikelen