Spring AMQP-də bloklayan qeyri-TLS RabbitMQ bağlantıları üçün SOCKS
Bloklayan qeyri-TLS AMQP bağlantı yolu üçün RabbitConnectionFactoryBean vasitəsilə proksi duyarlı SocketFactory qoşun.
Bloklayan, qeyri-TLS AMQP bağlantısı üçün Spring-in RabbitConnectionFactoryBean-ı SOCKS duyarlı socket fabriki RabbitMQ Java müştərisinə ötürə bilər.
Commons Net artıq mövcuddursa, mövcud fabrik binini işə salmadan əvvəl konfiqurasiya edin:
var socksProxy = new java.net.Proxy(
java.net.Proxy.Type.SOCKS,
new java.net.InetSocketAddress("proxy.example", 1080));
rabbitFactoryBean.setSocketFactory(
new org.apache.commons.net.DefaultSocketFactory(socksProxy));
rabbitFactoryBean tətbiqin RabbitConnectionFactoryBean-ıdır. Onun broker hostunu, AMQP portunu, hesabını və Spring bağlantı idarəetmə quruluşunu saxlayın. Broker hədəf olaraq qalır; SocketFactory isə ona SOCKS vasitəsilə çatan soketləri yaradır. Ümumi vasitəçilərin icazəli olduğu ümumi brokerə qarşı həssas olmayan sınaq üçün SOCKS proksi siyahısı namizədlər təklif edir; icra mühitinin dəstəklədiyi SOCKS versiyasını uyğunlaşdırın və faktiki broker hostuna və portuna girişi təsdiqləyin.
Commons Net fabriki verilən Proxy ilə bağlanmamış java.net.Socket yaradır. Sonra RabbitMQ-nun bloklayan bağlantı kodu həmin soketi adi bağlantı yolu ilə bağlayır. Sadəcə HTTP_PROXY ixrac etmək bu AMQP socket fabrikini təmin etmir.
RabbitMQ sənədləşdirir ki, SocketFactory qarmağı bloklayan I/O-ya aiddir. NIO və ya başqa transport üçün konfiqurasiya edilmiş müştəri həmin transportun dəstəklədiyi qarmağa ehtiyac duyur. AMQPS üçün uyğun TLS socket fabriki və hədəf yoxlamasını saxlayın; onu yuxarıdakı adi fabriklə əvəz etmək tam TLS konfiqurasiyası deyil.