Ar gyfer cysylltiad AMQP blocio, nad yw'n TLS, gall RabbitConnectionFactoryBean Spring drosglwyddo ffatri soced sy'n ymwybodol o SOCKS i gleient RabbitMQ Java.

Os yw Commons Net ar gael yn barod, ffurfweddwch y bean ffatri presennol cyn cychwyn:

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 yw RabbitConnectionFactoryBean y cymhwysiad. Cadwch ei westai broker, porth AMQP, cyfrif a chyfluniad rheoli cysylltiadau Spring. Y broker sy'n parhau i fod y gyrchfan; mae'r SocketFactory yn creu'r socedi sy'n ei gyrraedd drwy SOCKS. Ar gyfer prawf ansensitif yn erbyn broker cyhoeddus lle caniateir cyfryngwyr cyhoeddus, mae'r rhestr proesi SOCKS yn cynnig ymgeiswyr; cyfatebwch y fersiwn SOCKS a gefnogir gan y runtime a chadarnhewch fynediad i westai a phorth gwirioneddol y broker.

Mae ffatri Commons Net yn creu java.net.Socket heb ei gysylltu gan ddefnyddio'r Proxy a roddwyd. Yna mae cod cysylltu blocio RabbitMQ yn cysylltu'r soced hwnnw drwy ei lwybr cysylltu arferol. Nid yw allforio HTTP_PROXY yn unig yn darparu'r ffatri soced AMQP hon.

Mae RabbitMQ yn dogfennu bod bachyn SocketFactory yn berthnasol i I/O blocio. Mae cleient a ffurfweddwyd ar gyfer NIO neu gludiant arall angen bachyn a gefnogir gan y cludiant hwnnw. Ar gyfer AMQPS, cadwch ffatri soced TLS briodol a gwirio'r gyrchfan; nid yw disodli'r ffatri honno â'r ffatri syml uchod yn ffurfweddiad TLS cyflawn.

Erthyglau cysylltiedig