Транспарт 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 пасярэднік павінен дазваляць мэтавы порт брокера.

Падобныя артыкулы