Mae Firefox yn pwyntio at 127.0.0.1:8000, mae ymyl N2N i fyny, mae'r cymar yn ateb ping ar ei gyfeiriad troshaen, ac mae'r porwr yn dal i adrodd bod y dirprwy wedi gwrthod y cysylltiad. Nid oes dim yn gwrth-ddweud yn y gadwyn honno. Mae troshaen yn rhoi cyfeiriad cyrraeddadwy i westai ar rwydwaith preifat; nid yw'n creu proses sy'n siarad protocol y dirprwy. Nid yw'r porwr yn gofyn am lwybr at gymar. Mae'n gofyn am wrandäwr lleol.

Mae dau gysylltiad yn cael eu drysu yma, ac mae eu tynnu ar wahân yn clirio'r rhan fwyaf o'r dryswch mewn munud.

Dau gysylltiad, nid un

Mae'r cysylltiad cyntaf yn rhedeg o'r porwr at beth bynnag sy'n gwrando ar y porth loopback. Soced lleol yw hwnnw, ac os nad oes dim yn berchen arno, gwrthodir y cysylltiad cyn i un pecyn gyrraedd N2N. Mae'r ail yn rhedeg o'r broses ddirprwy at y tarddiad y mae'n ei nôl. Mae'r llwybr hwnnw'n cael ei ddewis gan dabl llwybro gwestai'r dirprwy, a gall fod y cyswllt i fyny arferol, twnnel arall, neu lwybr polisi nad oes ganddo ddim i'w wneud â'r droshaen.

Mae pingio'r cymar yn profi y gall y droshaen ddosbarthu pecynnau rhwng cyfeiriadau ymyl. Nid yw'n profi dim am wrandäwr ar borth 8000, nac am a all y gwestai hwnnw gyrraedd y tarddiad. Methiannau ar wahân, trwsio ar wahân.

Lle mae'n rhaid i'r gwrandäwr fyw

Mae dirprwy sy'n rhwym i 127.0.0.1 yn fwriadol leol: dim ond o'r peiriant lle mae'n rhedeg y mae'n derbyn cysylltiadau. Dyna'r diofyn cywir ar gyfer dirprwy personol a'r siâp anghywir ar gyfer ei rannu dros droshaen. Mae gwasanaethu cymariaid troshaen angen naill ai cyfeiriad rhwymo ar ryngwyneb y droshaen neu gydran anfon sy'n terfynu'r cysylltiad loopback ac yn ei had-drosglwyddo. Naill ffordd neu'r llall, dylai polisi penodol benderfynu pa ffynonellau troshaen a gaiff ddefnyddio'r gwasanaeth, oherwydd mae dirprwy agored ar rwydwaith a rennir yn wahoddiad.

Gwiriwch y rhwymiad gwirioneddol gyda rhestr socedau yn lle'r ffeil ffurfweddu. Gall daemon a ddechreuodd cyn i'r droshaen godi fod yn dal i fod yn rhwym i gyfeiriad nad yw'n bodoli mwyach.

Nid yw localhost yn gymar

Ym maes dirprwy'r porwr, mae localhost yn pwyntio at beiriant y porwr ei hun. Nid yw'n ymyl, nid yw'n uwchnod, ac nid yw'n westai ym mhen pellaf y twnnel. Os yw'r dirprwy'n rhedeg ar gymar arall, rhowch gyfeiriad troshaen cyrraeddadwy a phorth y cymar hwnnw yn y maes, yna cadarnhewch fod y gwrandäwr yn derbyn cysylltiadau o'ch cyfeiriad ymyl.

Mae uwchnodau yn helpu ymylon i ddod o hyd i'w gilydd; nid ydynt yn wasanaeth dirprwy. Mae trin cyfeiriad uwchnod fel pennaeth dirprwy yn cynhyrchu'r un gwrthodiad gyda naid ychwanegol o ddryswch.

Ni all llwybr wneud ysgydwad llaw

Hyd yn oed gyda'r cyfeiriad yn gywir, nid yw llwybro yn ddirprwyo. Mae cysylltiad dirprwy HTTP yn dechrau gyda chais CONNECT neu linell gais ar ffurf absoliwt, ac mae dirprwy SOCKS yn dechrau gyda thrafodaeth fersiwn a dull. Mae llwybrydd neu droshaen yn anfon beitiau ymlaen; nid yw'n dosrannu'r negeseuon hynny nac yn agor y cysylltiad nesaf drosoch. Dyna pam y gall llwybr sy'n gweithio i ping a SSH fethu o hyd i ddirprwy porwr: mae ar y porwr angen proses gydweithredol, nid cyrraeddadwyedd yn unig.

Os mai'r nod yw cyrraedd gwasanaeth ar y cymar yn unig, tynnwch y gosodiad dirprwy a defnyddiwch gyfeiriad troshaen y gwasanaeth yn uniongyrchol.

Profwch y ffiniau mewn trefn

Cadarnhewch fod cyfeiriad y droshaen yn ateb, yna cadarnhewch fod gwrandäwr yn bodoli ar y porth cyfluniedig a nodwch ei gyfeiriad rhwymo. Gwnewch un cais rheoledig a darllenwch log y dirprwy, fel y gwyddoch a yw'r methiant yn y gwrandäwr neu yn y nôl nesaf. Yn olaf, gwiriwch lwybr gwestai'r dirprwy a pholisi DNS ar gyfer y tarddiad.

Mae prosiect N2N yn dogfennu ymylon ac uwchnodau fel cydrannau troshaen. Nid yw'n troi ymyl yn ddirprwy cymhwysiad, ac nid oes unrhyw ffurfweddiad llwybro yn ychwanegu triniwr protocol na chychwynnodd neb.

Erthyglau cysylltiedig