接入方式
更新時間 2024-12-04 15:35:07
最近更新時間: 2024-12-04 15:35:07
分享文章
本節介紹了RabbitMQ 接入方式。
安全接入點
RabbitMQ 安全接入點支持 "PLAIN"、"AMQPLAIN" 授權機制。
1、訪問控制
RabbitMQ "PLAIN"、"AMQPLAIN"授權機制需要創建用戶,從而獲得對應虛擬主機的訪問權限。
2、接入步驟
(1)新建用戶(集群管理->用戶->新建用戶)
(2)運行demo
客戶端關鍵參數設置
"PLAIN"、"AMQPLAIN" 授權機制的客戶端關鍵參數配置
String host = "192.168.0.0"; //安全接入點ip
Integer port = 5672; //安全接入點port
String username = "xxx"; //集群管理用戶列表的用戶名
String password = "xxx";
String vhost = "/";
ConnectionFactory connectionFactory = new ConnectionFactory();
connectionFactory.setHost(host);
connectionFactory.setPort(port);
connectionFactory.setUsername(username);
connectionFactory.setPassword(password);
connectionFactory.setVirtualHost(vhost);
SSL接入點
RabbitMQ 安全接入點支持 "EXTERNAL" 授權機制
1、訪問控制
無
2、接入步驟
(1)下載SSL證書(實例概覽->導出服務->下載SSL文件)
(2)運行demo
客戶端關鍵參數設置
"EXTERNAL" 授權機制的客戶端關鍵參數配置
String host = "192.168.0.0"; //SSL接入點ip
int port = 5671; //SSL接入點port
//以下2個ssl文件可通過控制臺獲取安裝包, 具體的獲取方式可以查看2.2.1接入步驟的第二小節
String ksFile = "D:\\tmp\\ssl\\client_rabbitmq_key.p12";
String tksFile = "D:\\tmp\\ssl\\truststore";
String vhost = "/";
char[] keyPassphrase = "W3zT_98Zz9Io".toCharArray();
KeyStore ks = KeyStore.getInstance("PKCS12");
ks.load(new FileInputStream(ksFile), keyPassphrase);
KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
kmf.init(ks, keyPassphrase);
char[] trustPassphrase = null;
trustPassphrase = "W3zT_98Zz9Io".toCharArray();
KeyStore tks = KeyStore.getInstance("JKS");
tks.load(new FileInputStream(tksFile), trustPassphrase);
TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");
tmf.init(tks);
SSLContext c = SSLContext.getInstance("tlsv1.2");
c.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
ConnectionFactory connectionFactory = new ConnectionFactory();
connectionFactory.setHost(host);
connectionFactory.setPort(port);
connectionFactory.setVirtualHost(vhost);
connectionFactory.setSaslConfig(DefaultSaslConfig.EXTERNAL);
connectionFactory.useSslProtocol(c);