rabbitmq开启http安全认证插件
rabbitmq_auth_backend_http 插件
一、rabbitmq 中启用 rabbitmq_auth_backend_http 插件
命令:
rabbitmq-plugins list
##查看插件列表rabbitmq-plugins enable rabbitmq_auth_backend_http
##启用mqtt插件
[root@localhost rabbitmq]# rabbitmq-plugins list
Listing plugins with pattern ".*" ...
Configured: E = explicitly enabled; e = implicitly enabled
| Status: * = running on rabbit@localhost
|/
[ ] rabbitmq_amqp1_0 3.9.10
[ ] rabbitmq_auth_backend_cache 3.9.10
[E*] rabbitmq_auth_backend_http 3.9.10
[ ] rabbitmq_auth_backend_ldap 3.9.10
[ ] rabbitmq_auth_backend_oauth2 3.9.10
[ ] rabbitmq_auth_mechanism_ssl 3.9.10
[ ] rabbitmq_consistent_hash_exchange 3.9.10
[E*] rabbitmq_delayed_message_exchange 3.9.0
[E*] rabbitmq_event_exchange 3.9.10
[ ] rabbitmq_federation 3.9.10
......
[root@localhost rabbitmq]# rabbitmq-plugins enable rabbitmq_auth_backend_http
......
前面带 [E*]
的代表已启用
二、修改配置文件
rabbitmq的配置文件默认在 /etc/rabbitmq/rabbitmq.conf
,如果没有这个文件,则需要自己手动创建这个文件。
修改文件 vi /etc/rabbitmq/rabbitmq.conf
,写入如下内容:
# 优先使用内部认证
auth_backends.1 = internal
# 如果内部认证 没有找到用户,则请求http认证
auth_backends.2 = http
# 认证请求类型
auth_http.http_method = post
# 认证和授权地址,官方提供了 Spring Boot 示例
auth_http.user_path = http://192.168.1.102:19085/auth/user
auth_http.vhost_path = http://192.168.1.102:19085/auth/vhost
auth_http.resource_path = http://192.168.1.102:19085/auth/resource
auth_http.topic_path = http://192.168.1.102:19085/auth/topic
配置文件中依次配置了 auth_backends.1 = internal
和auth_backends.2 = http
,意思是优先使用内部认证,如果内部认证 没有找到用户,则请求http认证。
当然也可以直接配置auth_backends.1 = http
,这样会直接走http认证,忽略内部认证。(内部认证为rabbitmq服务本地配置的内部用户)
auth_http.user_path 校验用户登录
auth_http.vhost_path 验证虚拟主机权限
auth_http.resource_path 校验使用资源权限(交换机,队列)
auth_http.topic_path 检查主题是否可以订阅
rabbitmq官方给我们提供了一些后端校验的案例:https://github.com/rabbitmq/rabbitmq-auth-backend-http
其中启动包含了springboot的案例,和一些其他语言的案例。
三、开启验证缓存功能
开启http认证后,每次登录或订阅主题登录都会请求http验证权限,过于频繁会影响性能,此时可以开启缓存,在缓存时间内不会重复请求http认证。
- 启用缓存插件
[root@localhost rabbitmq]# rabbitmq-plugins enable rabbitmq_auth_backend_cache
- 修改配置文件
# 启用 cache 后,不需要直接指定 http 方式
auth_backends.1 = internal
auth_backends.2 = cache
# 缓存后端指定为 http
auth_cache.cached_backend = http
# 缓存时间,单位毫秒
auth_cache.cache_ttl = 10000
# 认证和授权地址,官方提供了 Spring Boot 示例
auth_http.user_path = http://192.168.1.102:19085/auth/user
auth_http.vhost_path = http://192.168.1.102:19085/auth/vhost
auth_http.resource_path = http://192.168.1.102:19085/auth/resource
auth_http.topic_path = http://192.168.1.102:19085/auth/topic
- 重启rabbitmq服务
service rabbitmq-server restart
评论区
请写下您的评论...
猜你喜欢
rabbitmq,springboot
2276
端公开。
一、rabbitmq-event-exchange插件rabbitmq-event-exchange是一个消费内部事件并且重新发送到一个topicexchange的插件,因此可以展示事件给
official
1245
续介绍在rabbitmq容器中安装rabbitmq_delayed_message_exchange插件并使用的方法。安装插件下载与rabbitmq版本相符的插件,下载地址:https://github
official
1231
上一篇《(mq)rabbitmq安装延时队列插件实现延时消息1》文章中介绍了rabbitmq安装延时队列插件。本编将继续结合代码来实现延时队列(基于springboot项目)。下方所有源代码均已上传
linux
1499
一、安装erlang二、安装socat三、安装rabbitmq四、启动服务五、开启用户远程访问六、rabbitmq服务常用命令一、安装erlang文件下载地址:https://github.com
ofc
docker安装rabbitmq
official
1116
--namerabbitmqrabbitmq:management访问如果是linux系统,记得把端口放开。http://ip:15672,这里的用户名和密码默认都是guest
其他
2641
windows环境下开机自启动tomcat1.保证tomcat在本机正确安装,即双击startup.bat能够正常开启tomcat服务保证正常后双击shutdown.bat将服务关闭2.设置环境变量
算法基础
2777
在插件项目中创建一个文件夹,存放第三方依赖的jar包,将需要引用的jar包拷贝到此目录右键选择AddasLibrary选项添加到项目构建环境中,此时就可以用jar包的类了。注意:如果你导入了第三方
jenkins
2126
一台服务器上打包和部署的,本文介绍使用PublishOverSSH插件,将项目发布到远程服务器。 本次模拟使用三台服务器,分别是jenkins服务器A:192.168.127.128,专门用于下载代码
最新发表
归档
2018-11
12
2018-12
33
2019-01
28
2019-02
28
2019-03
32
2019-04
27
2019-05
33
2019-06
6
2019-07
12
2019-08
12
2019-09
21
2019-10
8
2019-11
15
2019-12
25
2020-01
9
2020-02
5
2020-03
16
2020-04
4
2020-06
1
2020-07
7
2020-08
13
2020-09
9
2020-10
5
2020-12
3
2021-01
1
2021-02
5
2021-03
7
2021-04
4
2021-05
4
2021-06
1
2021-07
7
2021-08
2
2021-09
8
2021-10
9
2021-11
16
2021-12
14
2022-01
7
2022-05
1
2022-08
3
2022-09
2
2022-10
2
2022-12
5
2023-01
3
2023-02
1
2023-03
4
2023-04
2
2023-06
3
2023-07
4
2023-08
1
2023-10
1
2024-02
1
2024-03
1
2024-04
1
2024-08
1
标签
算法基础
linux
前端
c++
数据结构
框架
数据库
计算机基础
储备知识
java基础
ASM
其他
深入理解java虚拟机
nginx
git
消息中间件
搜索
maven
redis
docker
dubbo
vue
导入导出
软件使用
idea插件
协议
无聊的知识
jenkins
springboot
mqtt协议
keepalived
minio
mysql
ensp
网络基础
xxl-job
rabbitmq
haproxy
srs
音视频
webrtc
javascript
加密算法
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。