Արգելափակող, ոչ TLS AMQP միացման համար Spring-ի RabbitConnectionFactoryBean-ը կարող է SOCKS-ին տեղյակ socket ֆաբրիկա փոխանցել RabbitMQ Java հաճախորդին։

Եթե Commons Net-ն արդեն հասանելի է, կարգավորեք գոյություն ունեցող factory bean-ը նախաձեռնումից առաջ.

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-ը հավելվածի RabbitConnectionFactoryBean-ն է։ Պահպանեք դրա broker հոսթը, AMQP պորտը, հաշիվը և Spring-ի միացումների կառավարման կարգավորումը։ Broker-ը մնում է նպատակակետը. SocketFactory-ն ստեղծում է այն socket-ները, որոնք հասնում են դրան SOCKS-ի միջոցով։ Հանրային broker-ի դեմ ոչ զգայուն փորձարկման համար, որտեղ հանրային միջնորդները թույլատրված են, SOCKS պրոքսիների ցանկը առաջարկում է թեկնածուներ. համապատասխանեցրեք runtime-ի աջակցվող SOCKS տարբերակին և հաստատեք հասանելիությունը փաստացի broker հոսթին և պորտին։

Commons Net-ի ֆաբրիկան ստեղծում է չմիացված java.net.Socket՝ օգտագործելով տրված Proxy-ն։ Այնուհետև RabbitMQ-ի արգելափակող միացման կոդը միացնում է այդ socket-ը իր սովորական միացման ուղով։ Միայն HTTP_PROXY արտահանելը չի ապահովում այս AMQP socket ֆաբրիկան։

RabbitMQ-ն փաստաթղթավորում է, որ SocketFactory կեռիկը կիրառվում է արգելափակող I/O-ի համար։ NIO-ի կամ այլ տրանսպորտի համար կարգավորված հաճախորդին անհրաժեշտ է այդ տրանսպորտի աջակցվող կեռիկը։ AMQPS-ի համար պահպանեք համապատասխան TLS socket ֆաբրիկա և նպատակակետի ստուգում. վերևի սովորական ֆաբրիկայով փոխարինելը լրիվ TLS կարգավորում չէ։

Առնչվող հոդվածներ