A Node socket connect eseménye azt mondja, hogy a TCP elérte a proxyt. Nem mondja azt, hogy a proxy kapcsolatot nyitott a célhoz.

A SOCKS5 kiszolgáló az alkalmazásforgalom előtt módszeregyeztetést, esetleges kiválasztott hitelesítést és célkérést vár. Ha azonnal HTTP-kérést küld, a kiszolgáló bezárhatja a kapcsolatot. Egy későbbi írás ekkor EPIPE hibát okozhat.

Az EPIPE önmagában nem bizonyítja a hiányzó kézfogást. Azt jelzi, hogy olyan kapcsolatra írtunk, amelynek partnere már nem fogadja ezt a kommunikációt. Olvassa el a korábbi eseményeket és protokollválaszokat, hogy megtudja, miért zárta be a partner.

Használjon olyan csatlakozót, amely a teljes SOCKS-cserét megvalósítja. A Node alap HTTPS-ügyfeléhez egy SOCKS-tudatos ügynök elvégezheti ezt az egyeztetést a cél TLS-e előtt. Ha saját maga valósítja meg a cserét, a protokoll mezőhosszai szerint gyűjtse az adatokat. Nem garantált, hogy egy data esemény egy teljes választ tartalmaz, és a visszakapott kötött címnek nem kell egyetlen keményen kódolt bájtsorral egyeznie.

A hibakezelést még az előtt regisztrálja, hogy a művelet meghiúsulhat, őrizze meg a kapcsolat szakaszát a hibajelentésben, és a célprotokollt csak sikeres egyeztetés után küldje. A hiba elkapása megakadályozza a kezeletlen eseményt; nem javítja ki az érvénytelen cserét.

Kapcsolódó cikkek