SOCKS5 პროქსის კონფიგურაცია Qpid JMS-ისთვის Netty ჰენდლერებით
დააკავშირეთ SOCKS5 ProxyHandler-ის მომწოდებელი Qpid JMS კავშირის გაფართოებებით, AMQPS ბროკერის URI-ის შენარჩუნებით.
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-ს ეკუთვნის, ხოლო ფაბრიკა და გაფართოების enum — org.apache.qpid.jms-ს.
დაშვებულ საჯარო პროქსი მარშრუტზე საჯაროდ ხელმისაწვდომი ბროკერისთვის SOCKS5 პროქსების სია გთავაზობთ ჰოსტისა და პორტის კანდიდატებს; დაადასტურეთ, რომ არჩეული კვანძი უშვებს ბროკერის ფაქტობრივ ჰოსტსა და პორტს. გაფართოება აბრუნებს მომწოდებელს; მომწოდებლის ყოველი გამოძახება ქმნის ახალ ჰენდლერს. ერთი დაჭერილი ცვალებადი ჰენდლერის რამდენიმე კავშირისთვის დაბრუნება დაარღვევდა ამ საკუთრების წესრიგს.
SOCKS5 ავთენტიფიკაციისთვის გამოიყენეთ ჰენდლერის გადატვირთვა, რომელიც იღებს მომხმარებლის სახელსა და პაროლს. შეინახეთ ბროკერის სერთიფიკატები JMS კავშირზე და შეინარჩუნეთ ბროკერის რეალური AMQPS URI და TLS სახელი.
გაფართოება მხარს უჭერს Netty-ის HTTP, SOCKS4 და SOCKS5 პროქსი ჰენდლერებს. HTTP CONNECT-ისთვის შუამავალმა უნდა დაუშვას ბროკერის სამიზნე პორტი.