Konfigureer 'n SOCKS5-proxy vir Qpid JMS met Netty-handlers
Koppel 'n SOCKS5 ProxyHandler-leweraar via Qpid JMS-verbindinguitbreidings terwyl die AMQPS-broker-URI behoue bly.
Qpid JMS se Netty-vervoer kan 'n nuwe proxy-handler verkry deur 'n verbindinguitbreiding:
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 en InetSocketAddress is JDK-tipes. Die proxy-handlers behoort aan Netty, en die fabriek en uitbreidingsenum aan org.apache.qpid.jms.
Vir 'n publiek bereikbare broker op 'n toegelate publieke-proxy-roete bied die SOCKS5-proxylys gasheer- en poortkandidate; bevestig dat die gekose nodus die broker se werklike gasheer en poort toelaat. Die uitbreiding gee 'n leweraar terug; elke leweraar-oproep skep 'n nuwe handler. Om een vasgevangde veranderlike handler vir verskeie verbindings terug te gee, sou daardie eienaarskapreëling skend.
Vir SOCKS5-verifikasie gebruik die handler-oorlaai wat gebruikersnaam en wagwoord aanvaar. Hou broker-credentials op die JMS-verbinding en behou die werklike AMQPS-broker-URI en TLS-naam.
Die uitbreiding ondersteun Netty se HTTP-, SOCKS4- en SOCKS5-proxy-handlers. Vir HTTP CONNECT moet die tussenganger die broker se teikenpoort toelaat.