Fyrir blokkarandi AMQP-tengingu án TLS getur RabbitConnectionFactoryBean í Spring afhent SOCKS-meðvitaðri socketverksmiðju til RabbitMQ Java-biðlarans.

Ef Commons Net er þegar tiltækt skaltu stilla núverandi factory bean fyrir frumstillingu:

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 er RabbitConnectionFactoryBean forritsins. Haltu broker-hýsilnum, AMQP-gáttinni, reikningnum og uppsetningu Spring á tengistjórnun. Brokerinn er áfram áfangastaðurinn; SocketFactory býr til socketin sem ná til hans gegnum SOCKS. Fyrir ónæma prófun á móti opinberum broker þar sem opinberir milliliðir eru leyfðir býður SOCKS-milliliðalistinn upp á kandídáta; samræmdu SOCKS-útgáfuna sem keyrsluumhverfið styður og staðfestu aðgang að raunverulegri broker-hýsil og -gátt.

Verksmiðja Commons Net býr til ótengt java.net.Socket með tilgreindu Proxy. Blokkarandi tengikóði RabbitMQ tengir síðan það socket á venjulegri tengileið sinni. Eingöngu útflutningur á HTTP_PROXY veitir ekki þessa AMQP-socketverksmiðju.

RabbitMQ skjalfestir að SocketFactory-krókurinn eigi við um blokkarandi I/O. Biðlari sem er stilltur fyrir NIO eða aðra flutninga þarf krókinn sem sá flutningur styður. Fyrir AMQPS skaltu halda viðeigandi TLS-socketverksmiðju og áfangastaðasannprófun; að skipta henni út fyrir einföldu verksmiðjuna hér að ofan er ekki fullkomin TLS-stilling.

Tengdir greinar