AMQP konexio blokeatzaile eta ez-TLS baterako, Spring-en RabbitConnectionFactoryBean-ek SOCKS-ez jabetzen den socket fabrika bat pasa diezaioke RabbitMQ Java bezeroari.

Commons Net jada eskuragarri badago, konfiguratu existitzen den factory bean-a hasieratu aurretik:

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 aplikazioaren RabbitConnectionFactoryBean da. Mantendu bere broker ostalaria, AMQP ataka, kontua eta Spring-en konexio-kudeaketaren ezarpena. Brokerra da helmuga; SocketFactory-k SOCKS bidez hara iristen diren socketak sortzen ditu. Broker publiko baten aurkako proba ez-sentikor baterako, non bitartekari publikoak onartzen diren, SOCKS proxy zerrendak hautagaiak eskaintzen ditu; egokitu runtimeak onartzen duen SOCKS bertsioa eta berretsi benetako broker ostalarirako eta atakarako sarbidea.

Commons Net-en fabrikak emandako Proxy erabiliz konektatu gabeko java.net.Socket bat sortzen du. Ondoren, RabbitMQ-ren konexio kode blokeatzaileak socket hori bere ohiko konexio bidearen bidez konektatzen du. HTTP_PROXY soilik esportatzeak ez du AMQP socket fabrika hau ematen.

RabbitMQ-k dokumentatzen du SocketFactory kakoa I/O blokeatzaileari aplikatzen zaiola. NIO edo beste garraio baterako konfiguratutako bezero batek garraio horren kako onartua behar du. AMQPSrako, mantendu TLS socket fabrika egoki bat eta helmugaren egiaztapena; goiko fabrika sinplearekin ordezkatzea ez da TLS konfigurazio osoa.

Erlazionatutako artikuluak