Настройка на SOCKS5 прокси за Qpid JMS с Netty манипулатори
Прикачете доставчик на SOCKS5 ProxyHandler чрез разширения за връзка на Qpid JMS, като запазите URI на AMQPS брокера.
Netty транспортът на Qpid JMS може да получи нов прокси манипулатор чрез разширение за връзка:
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 и запазете истинския URI на AMQPS брокера и TLS името.
Разширението поддържа HTTP, SOCKS4 и SOCKS5 прокси манипулатори на Netty. За HTTP CONNECT посредникът трябва да разрешава целевия порт на брокера.