Налада праксі SOCKS5 для Qpid JMS з апрацоўшчыкамі Netty
Далучыце пастаўшчык ProxyHandler SOCKS5 праз пашырэнні злучэння 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 пасярэднік павінен дазваляць мэтавы порт брокера.