Sett Nettys SOCKS-forhandling før applikasjonsprotokollen din
Plasser en Netty SOCKS-proxyhandler før applikasjonstrafikken, og bevar en uoppslått destinasjon når DNS på proxy-siden er tilsiktet.
For en eksisterende Netty bootstrap/pipeline der SOCKS-serveren skal slå opp destinasjonen:
bootstrap.resolver(NoopAddressResolverGroup.INSTANCE);
pipeline.addFirst(
new Socks5ProxyHandler(new InetSocketAddress("127.0.0.1", 1080))
);
bootstrap.connect(
InetSocketAddress.createUnresolved("example.com", 443)
);Proxy-endepunktet er lokal port 1080; det uoppslåtte tilkoblingsmålet er example.com:443. Ikke bruk proxy-adressen for begge roller, og ikke slå opp navnet før handleren mottar det. For offentlige mål på en tillatt offentlig proxy-rute leverer SOCKS5-proxylisten kandidater til handlerens proxy-endepunkt.
Plasser Socks5ProxyHandler før handlere som utveksler destinasjonstrafikk. Vent på proxy-tilkoblingens future, ikke bare en kanal som når listeneren. En avvist metode eller destinasjon hører til dette oppsettstrinnet.
For HTTPS bruker det neste TLS-laget destinasjonens vertsnavn, den påkrevde verifiseringen og tilliten—ikke SOCKS-endepunktets identitet. Først da begynner HTTP-/applikasjonsutvekslingen.
Utdraget leverer ikke event loops, kanaltyper, TLS/HTTP-handlere eller vanlig feilhåndtering. Velg SOCKS-konstruktøren som passer autentiseringsbehovene; en HTTP Basic-handler er en annen protokoll.
Bruk no-op-resolveren bare der denne nedstrøms handleren eier vertsnavnoppslaget. Andre tilkoblinger kan trenge lokal oppslag. Hold resolver-utdata, proxy-future, TLS og applikasjonsresultat atskilt når du diagnostiserer en feil.