Mae ceisiadau’r ap yn methu y tu ôl i VPN gorfforaethol, ond mae’r porwr yn gweithio
Mae un ap yn torri tra bo’r porwr yn llwytho’r safle. Cerddwch drwy’r proxy a etifeddodd, y polisi porthladdoedd, ailosodiadau TCP crai a therfynau maint y llwyth, yn y drefn honno.
Rydych yn agor y porth mewnol mewn porwr ac mae’n llwytho. Rydych chi’n rhedeg yr ap sy’n galw’r un gwesteiwr ac mae’r ap yn methu, gyda neges na enwir unrhyw haen ynddi o gwbl. Mae’r twnnel yn cario’r porwr, felly nid y twnnel yw’r prif amheuyn. Mae pedair peth rhwng eich cais a’r gwasanaeth, ac mae pob un yn gadael llofnod gwahanol. Dyma’r drefn yr wyf yn ei dilyn, gan ddechrau o’r cais y mae’r ap yn ei anfon mewn gwirionedd, yn hytrach nag o dudalen gosodiadau’r cleient VPN.
Edrychwch ar y cais y mae’r ap yn ei anfon mewn gwirionedd
Cyn cyffwrdd â’r ffurfweddiad, gwnewch i’r ap ddweud wrthych beth mae’r ap yn ei wneud. Mae cipio un cais gyda’r proxy wedi’i analluogi’n benodol a phrawf porthladd syml yn rhoi dwy linell sylfaen i chi y bydd y camau nesaf yn cymharu â nhw. Os yw’r cais yn llwyddo gyda’r proxy i ffwrdd, rydych chi eisoes wedi gorffen tri o’r pedair haen.
env | grep -i proxy # Linux/macOS
netsh winhttp show proxy # Windows, machine-wide
curl -sv --noproxy '*' https://svc.internal/
nc -vz svc.internal 8080Rhedwch y ddau olaf gyda’r un cyrchfan a gwyliwch ble maen nhw’n dargyfeirio. Mae porwr sy’n gweithio ynghyd â curl sy’n gweithio ynghyd ag ap nad yw’n gweithio yn culhau’r broblem i rywbeth y mae’r ap yn ei ychwanegu: proxy, cludiant, neu faint neges.
Etifeddodd yr ap proxy na wnaeth neb ei ffurfweddu
Mae’r rhan fwyaf o staciau HTTP yn darllen ffurfweddiad proxy o’r system weithredu yn ddiofyn. Mae cleient VPN corfforaethol yn aml yn gosod un fel rhan o’i broffil mynediad, felly mae ceisiadau’n gadael trwy proxy na soniodd y datblygwr amdano byth yn y cod. Yn .NET mae’r handlydd rhagosodedig yn tynnu o osodiadau IE/WinHTTP; mae Java yn darllen -Dhttp.proxyHost; nid oes gan Node gefnogaeth proxy adeiledig nes bod llyfrgell yn ei hychwanegu. Anaml y mae’r methiant yn wrthodiad glân, a dyna pam mae pobl yn dechrau edrych ar y gweinydd.
Mae’r prawf yn costio un cais: analluogwch y proxy yn benodol ar un handlydd a chymharwch.
var handler = new HttpClientHandler { UseProxy = false };
using var client = new HttpClient(handler);Os yw hynny’n llwyddo, mae’r atgyweiriad yn perthyn i ffurfweddiad yr ap, nid i’r twnnel. Ailadroddwch yr archwiliad ar gyfer pob amgylchedd rhedeg yn y prosiect, oherwydd mae pob un yn darllen ffynhonnell wahanol a dim ond un ohonynt a allai fod yn doredig.
Nid y porthladd a ddewisoch yw’r porthladd y mae’r polisi yn ei ganiatáu
Nid yw gwesteiwr wedi’i lwybr yn wasanaeth a ganiateir. Mae polisi corfforaethol fel arfer yn caniatáu porthladdoedd gwe allanol ac yn gollwng y gweddill, felly mae gwasanaeth ar 8080 neu 1883 yn un na ellir ei gyrraedd tra bod 443 yn gweithio’n dda. Nid yw’r porwr yn profi unrhyw beth yma: mae’n defnyddio 443 yn ôl diffiniad.
Cyhoeddwch yr un gwasanaeth y tu ôl i 443 a’i gyrraedd wrth ei enw cyn gofyn am eithriad. Os oes gwir angen yr eithriad, cyfyngwch ef i un amrediad ffynhonnell ac un gyrchfan a’i drin fel rhan o ddiffiniad y gwasanaeth, nid fel ateb dros dro personol rhywun.
TCP crai y mae’r llwybr yn ei ailosod
Cysylltiadau TCP crai hirhoedlog yw’r haen sy’n methu mewn ffordd fwyaf dryslyd. Gall llwybr sy’n caniatáu traffig gwe o hyd ailosod neu ailysgrifennu TCP allanol anarferol, ac mae’r cleient yn adrodd gwall soced sy’n darllen fel methiant. Mae gwasanaethau negeseuon a digwyddiadau fel arfer yn danfon cludiant WebSocket ar gyfer y math hwn o rwydwaith, ac mae newid yn opsiwn cleient yn hytrach na newid twnnel.
Newidiwch y cludiant, ailbrofwch, a pheidiwch â newid dim arall yn yr un rhediad. Mae’r prawf un newidyn hwnnw’n dweud wrthych a ddaeth yr ailosodiad o’r llwybr neu o’r gwasanaeth.
Cysylltiadau sy’n cau dim ond ar lwythi mawr
Mae cais sy’n llwyddo ac yna’n marw tua eiliad yn ddiweddarach, ond dim ond pan fo’r corff yn fawr, yn pwyntio at derfyn maint yn rhywle yn y canol. Gall cyfryngwr sy’n cyfrif beitiau negeseuon ollwng y cysylltiad yng nghanol y trosglwyddiad, ac mae’r cleient yn adrodd cau annormal yn lle goramser.
Rhannwch y llwyth yn ddarnau ar haen yr ap. Cadwch hynny ar wahân i waith MTU: mae gostwng maint pecyn y twnnel yn helpu pan fo sesiynau TCP cyffredin yn stopio ar gyfrif beitiau cyson, ac nid yw’n gwneud dim i neges y mae cyfryngwr yn ei hystyried yn rhy fawr.
Sut i wahaniaethu’r pedwar mewn un rhediad
Mae tri arsylwad yn setlo’r rhan fwyaf o achosion. A yw’r methiant yn digwydd ar unwaith neu dim ond gyda chorff mawr? A yw’r un cais yn llwyddo gyda’r proxy wedi’i analluogi? A yw’r canlyniad yn newid pan newidiwch borthladd neu gludiant? Ysgrifennwch yr atebion cyn y newid nesaf, oherwydd mae VPN corfforaethol ynghyd â proxy etifeddol ynghyd â diofyn yr ap yn rhoi tri achos posibl i chi ar unwaith.
Cadwch un newidyn ym mhob prawf a chofnodwch y gwesteiwr cyrchfan a ddefnyddiwyd gennych. Heb y llinell sylfaen honno, mae’r person nesaf yn ailadrodd y pedwar cam o’r dechrau.