Netty İşleyicileriyle Qpid JMS için SOCKS5 Proxy Yapılandırma
AMQPS broker URI'sini koruyarak Qpid JMS bağlantı uzantıları aracılığıyla bir SOCKS5 ProxyHandler sağlayıcısı ekleyin.
Qpid JMS'nin Netty taşıması, bir bağlantı uzantısı aracılığıyla yeni bir proxy işleyicisi edinebilir:
Supplier<ProxyHandler> handlers = () ->
new Socks5ProxyHandler(
new InetSocketAddress("proxy.example", 1080));
JmsConnectionFactory factory = new JmsConnectionFactory(
"amqps://broker.example:5671");
factory.setExtension(
JmsConnectionExtensions.PROXY_HANDLER_SUPPLIER.toString(),
(connection, remote) -> handlers);Supplier ve InetSocketAddress JDK türleridir. Proxy işleyicileri Netty'ye, fabrika ve uzantı enum'u org.apache.qpid.jms'e aittir.
İzin verilen genel proxy rotasında genel olarak erişilebilen bir broker için SOCKS5 proxy listesi ana bilgisayar ve bağlantı noktası adayları sunar; seçilen düğümün brokerin gerçek ana bilgisayarına ve bağlantı noktasına izin verdiğini doğrulayın. Uzantı bir sağlayıcı döndürür; her sağlayıcı çağrısı yeni bir işleyici oluşturur. Yakalanan tek bir değiştirilebilir işleyicinin birden çok bağlantı için döndürülmesi bu sahiplik düzenini ihlal eder.
SOCKS5 kimlik doğrulaması için kullanıcı adı ve parola kabul eden işleyici aşırı yüklemesini kullanın. Broker kimlik bilgilerini JMS bağlantısında tutun ve gerçek AMQPS broker URI'sini ve TLS adını koruyun.
Uzantı Netty'nin HTTP, SOCKS4 ve SOCKS5 proxy işleyicilerini destekler. HTTP CONNECT için aracı, brokerin hedef bağlantı noktasına izin vermelidir.