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.

Relaterte artikler