SOCKS ar gyfer cysylltiadau RabbitMQ nad ydynt yn TLS yn Spring AMQP
Atodwch SocketFactory sy'n ymwybodol o'r proesi drwy RabbitConnectionFactoryBean ar gyfer llwybr cysylltiad AMQP nad yw'n TLS.
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.