Plaats de SOCKS-onderhandeling van Netty vóór uw applicatieprotocol
Orden een Netty SOCKS-proxyhandler vóór het applicatieverkeer en behoud een onopgeloste bestemming wanneer DNS aan de proxyzijde bedoeld is.
Voor een bestaande Netty bootstrap/pipeline waarbij de SOCKS-server de bestemming moet oplossen:
bootstrap.resolver(NoopAddressResolverGroup.INSTANCE);
pipeline.addFirst(
new Socks5ProxyHandler(new InetSocketAddress("127.0.0.1", 1080))
);
bootstrap.connect(
InetSocketAddress.createUnresolved("example.com", 443)
);Het proxy-eindpunt is de lokale poort 1080; het onopgeloste verbindingsdoel is example.com:443. Gebruik het proxyadres niet voor beide rollen en los de naam niet op voordat de handler die ontvangt. Voor openbare doelen op een toegestane openbare proxy-route levert de SOCKS5-proxylijst kandidaten voor het proxy-eindpunt van de handler.
Plaats Socks5ProxyHandler vóór handlers die verkeer naar de bestemming uitwisselen. Wacht op de future van de proxyverbinding, niet alleen op een kanaal dat de listener bereikt. Een geweigerde methode of bestemming hoort bij deze installatiefase.
Voor HTTPS gebruikt de volgende TLS-laag de hostnaam van de bestemming, de vereiste verificatie en het vertrouwen—niet de identiteit van het SOCKS-eindpunt. Pas dan begint de HTTP-/applicatie-uitwisseling.
Het fragment levert geen event loops, kanaaltypen, TLS/HTTP-handlers of normale foutafhandeling. Kies de SOCKS-constructor die bij de authenticatiebehoeften past; een HTTP Basic-handler is een ander protocol.
Gebruik de no-op-resolver alleen waar deze downstream-handler de hostnaamresolutie bezit. Andere verbindingen kunnen lokale opzoeking nodig hebben. Houd resolver-uitvoer, proxy-future, TLS en applicatieresultaat gescheiden bij het diagnosticeren van een storing.