Netty handler-ləri ilə Qpid JMS üçün SOCKS5 proxy qurulumu
AMQPS broker URI-ni qoruyaraq Qpid JMS bağlantı genişləmələri vasitəsilə SOCKS5 ProxyHandler təchizatçısı əlavə edin.
Qpid JMS-in Netty nəqliyyatı bağlantı genişləməsi vasitəsilə yeni proxy handler əldə edə bilər:
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 və InetSocketAddress JDK tipləridir. Proxy handler-ləri Netty-yə, fabrik və genişləmə enum-u isə org.apache.qpid.jms-ə aiddir.
İcazə verilmiş ictimai proxy marşrutunda ictimai olaraq əlçatan broker üçün SOCKS5 proxy siyahısı host və port namizədləri təklif edir; seçilmiş qovşağın brokerin faktiki hostunu və portunu icazə verdiyini təsdiqləyin. Genişləmə təchizatçı qaytarır; hər təchizatçı çağırışı yeni handler yaradır. Bir tutulmuş dəyişkən handleri bir neçə bağlantı üçün qaytarmaq bu sahiblik qaydasını pozardı.
SOCKS5 autentifikasiyası üçün istifadəçi adı və parol qəbul edən handler həddindən artıq yükləməsindən istifadə edin. Broker etimadnamələrini JMS bağlantısında saxlayın və real AMQPS broker URI-ni və TLS adını qoruyun.
Genişləmə Netty-nin HTTP, SOCKS4 və SOCKS5 proxy handler-lərini dəstəkləyir. HTTP CONNECT üçün vasitəçi brokerin hədəf portuna icazə verməlidir.