SpringBoot+rabbitMQ+TLS/SLL整合安装部署

本文档详细介绍了如何在Centos7X上通过安装包和Docker两种方式部署RabbitMQ,并结合SpringBoot应用进行SSL/TLS整合。内容包括RabbitMQ的安装、插件配置、账号权限设定、Docker集群搭建以及证书生成和配置,最后通过SpringBoot测试验证SSL连接的正确性。
摘要由CSDN通过智能技术生成

SpringBoot+RabbitMQ+SSL/TLS整合与部署

( 简单的安装和使用springboot整合MQ都是很简单,但是整合SSL的时候就很小白了,都是一点点查阅了解得到的部署流程.文章比较适合小白使用 )

安装RabbitMQ(使用安装包或docker安装)

方案一:安装包安装MQ(Centos7X)

安装依赖文件

yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget

安装erlang环境(版本18.3)

下载erlang包

//下载erlang包
可以选择直接下载,但是超级慢,可以本地网盘下载
手动下载地址: 链接:https://pan.baidu.com/s/14IiVo7PL9MWM8b7SBSn70A 
提取码:60se
不嫌弃慢可以直接下载:
wget http://www.erlang.org/download/otp_src_18.3.tar.gz  //下载erlang包
下载好后
tar -xzvf otp_src_18.3.tar.gz  //解压
cd otp_src_18.3/ //切换到安装路径
./configure --prefix=/usr/local/erlang  //生产安装配置
make && make install  //编译安装

配置erlang环境变量

vi /etc/profile  //在底部添加以下内容
	#set erlang environment
	ERL_HOME=/usr/local/erlang
	PATH=$ERL_HOME/bin:$PATH
	export ERL_HOME PATH
	
source /etc/profile  //生效

测试一下是否安装成功

erl  //如果进入erlang,则证明安装成功
退出连续两次
Ctrl+C

安装RabbitMQ(版本3.6.1)

下载安装

cd /usr/local  //切换到计划安装RabbitMQ的目录,我这里放在/usr/local
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.1/rabbitmq-server-generic-unix-3.6.1.tar.xz  //下载RabbitMQ安装包
xz -d rabbitmq-server-generic-unix-3.6.1.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.6.1.tar
// 解压后多了个文件夹rabbitmq-server-3.6.1 ,重命名为rabbitmq以便记忆。
mv rabbitmq_server-3.6.1/ rabbitmq

配置rabbitmq环境变量

vi /etc/profile
	#set rabbitmq environment
	export PATH=$PATH:/usr/local/rabbitmq/sbin
source /etc/profile

启动服务

rabbitmq-server -detached //启动rabbitmq,-detached代表后台守护进程方式启动。

查看状态

rabbitmqctl status
如果现实running,安装成功

其他相关命令

启动服务:rabbitmq-server -detached
查看状态:rabbitmqctl status
关闭服务:rabbitmqctl stop
列出角色:rabbitmqctl list_users

配置网页插件

首先创建目录,否则可能报错

mkdir /etc/rabbitmq

然后启用插件

rabbitmq-plugins enable rabbitmq_management

配置防火墙

配置linux 端口 15672 网页管理 5672 AMQP端口
注:这里需要添加tls监听的端口5671,所以一起添加了
firewall-cmd --permanent --add-port=15672/tcp
firewall-cmd --permanent --add-port=5672/tcp
firewall-cmd --permanent --add-port=5671/tcp
systemctl restart firewalld.service

现在你在浏览器中输入服务器IP:15672 就可以看到RabbitMQ的WEB管理页面了,是不是很兴奋,可是你没有账号密码,别急。

配置账号密码和权限

guest用户只能在本地访问的,需要增加一个用户修改一下权限,代码如下:

rabbitmqctl add_user maxton maxton  //添加用户,后面两个参数分别是用户名和密码,我这都用superrd了。
rabbitmqctl set_permissions -p / maxton ".*" ".*" ".*"  //添加权限
rabbitmqctl set_user_tags maxton administrator  //修改用户角色

然后就可以远程访问了ÿ

Spring Boot是一个非常流行的Java Web框架,它简化了Java应用程序的开发和部署过程。 RabbitMQ是一个开源的消息代理,它支持多种协议,包括AMQP、STOMP和MQTT等。TLS协议则是一种加密传输协议,它可以保证数据在传输过程中的安全性。 在Spring Boot应用程序中使用RabbitMQ需要引入相应的依赖,可以使用Maven或Gradle来进行管理。同时,为了保证消息的安全传输,我们可以使用TLS协议对消息进行加密传输。 以下是使用Spring Boot和RabbitMQ进行消息传输并加密的简单示例: 1. 引入依赖 在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-rsa</artifactId> </dependency> ``` 2. 配置RabbitMQTLS 在application.properties文件中添加以下配置: ```properties spring.rabbitmq.host=localhost spring.rabbitmq.port=5671 spring.rabbitmq.username=user spring.rabbitmq.password=password spring.rabbitmq.ssl.enabled=true spring.rabbitmq.ssl.key-store=file:/path/to/keystore spring.rabbitmq.ssl.key-store-password=changeit spring.rabbitmq.ssl.trust-store=file:/path/to/truststore spring.rabbitmq.ssl.trust-store-password=changeit ``` 其中,key-store和trust-store分别为用于TLS加密的密钥库和信任库文件路径,需要根据实际情况进行配置。 3. 发送和接收消息 在Spring Boot应用程序中使用RabbitTemplate来发送和接收消息,示例代码如下: ```java @Service public class RabbitMQService { @Autowired private RabbitTemplate rabbitTemplate; public void send(String message) { rabbitTemplate.convertAndSend("exchange", "routingKey", message); } @RabbitListener(queues = "queue") public void receive(String message) { System.out.println("Received message: " + message); } } ``` 其中,send方法用于发送消息,receive方法用于接收消息。在这个例子中,我们将消息发送到名为exchange的交换机,使用名为routingKey的路由键进行路由,然后将消息发送到名为queue的队列中进行消费。 以上就是在Spring Boot应用程序中使用RabbitMQTLS进行消息传输的简单示例。需要注意的是,这只是一个基本的示例,实际应用中还需要进行更多的配置和处理,以确保消息传输的安全和可靠性。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值