Netty ഹാൻഡ്ലറുകൾ ഉപയോഗിച്ച് Qpid JMS-നായി SOCKS5 പ്രോക്സി കോൺഫിഗർ ചെയ്യുക
AMQPS ബ്രോക്കർ URI നിലനിർത്തി Qpid JMS കണക്ഷൻ എക്സ്റ്റൻഷനുകൾ വഴി SOCKS5 ProxyHandler ദാതാവ് ബന്ധിപ്പിക്കുക.
Qpid JMS-ന്റെ Netty ട്രാൻസ്പോർട്ടിന് ഒരു കണക്ഷൻ എക്സ്റ്റൻഷൻ വഴി പുതിയ പ്രോക്സി ഹാൻഡ്ലർ ലഭിക്കാം:
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-ഉം InetSocketAddress-ഉം JDK തരങ്ങളാണ്. പ്രോക്സി ഹാൻഡ്ലറുകൾ Netty-യുടേതാണ്, ഫാക്ടറിയും എക്സ്റ്റൻഷൻ എനമും org.apache.qpid.jms-ന്റേതാണ്.
അനുവദനീയമായ പൊതു പ്രോക്സി പാതയിൽ പൊതുവിൽ ലഭ്യമായ ബ്രോക്കറിന് SOCKS5 പ്രോക്സി പട്ടിക ഹോസ്റ്റ്, പോർട്ട് സ്ഥാനാർത്ഥികൾ നൽകുന്നു; തിരഞ്ഞെടുത്ത നോഡ് ബ്രോക്കറിന്റെ യഥാർത്ഥ ഹോസ്റ്റും പോർട്ടും അനുവദിക്കുന്നുവെന്ന് ഉറപ്പാക്കുക. എക്സ്റ്റൻഷൻ ഒരു ദാതാവിനെ നൽകുന്നു; ഓരോ ദാതാവ് കോളും പുതിയ ഹാൻഡ്ലർ സൃഷ്ടിക്കുന്നു. നിരവധി കണക്ഷനുകൾക്കായി പിടിച്ചെടുത്ത ഒരു മ്യൂട്ടബിൾ ഹാൻഡ്ലർ തിരികെ നൽകുന്നത് ആ ഉടമസ്ഥതാ ക്രമം ലംഘിക്കും.
SOCKS5 പ്രാമാണീകരണത്തിന് ഉപയോക്തൃനാമവും പാസ്വേഡും സ്വീകരിക്കുന്ന ഹാൻഡ്ലർ ഓവർലോഡ് ഉപയോഗിക്കുക. ബ്രോക്കർ ക്രെഡൻഷ്യലുകൾ JMS കണക്ഷനിൽ സൂക്ഷിക്കുകയും യഥാർത്ഥ AMQPS ബ്രോക്കർ URI-യും TLS പേരും നിലനിർത്തുകയും ചെയ്യുക.
എക്സ്റ്റൻഷൻ Netty-യുടെ HTTP, SOCKS4, SOCKS5 പ്രോക്സി ഹാൻഡ്ലറുകളെ പിന്തുണയ്ക്കുന്നു. HTTP CONNECT-ന് ഇടനിലക്കാരൻ ബ്രോക്കറിന്റെ ലക്ഷ്യ പോർട്ട് അനുവദിക്കണം.