rabbitmq开启http安全认证插件

硅谷探秘者 Md rabbitmq 1509 0 0

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 = internalauth_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-exchangerabbitmq-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
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 加密算法
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。