当前位置:首页 > 服务端 > RabbitMQ 启用 rabbitmq-auth-backend-http鉴权

RabbitMQ 启用 rabbitmq-auth-backend-http鉴权

2022年08月04日 22:48:26服务端7

查看运行中的容器

# docker ps 

进入容器

# docker exec -it <RabbitMq容器ID> /bin/bash 

启用插件
输入以下命令查看所有插件:

# sudo rabbitmq-plugins list
# 输出部分日志
 Configured: E = explicitly enabled; e = implicitly enabled
 | Status: * = running on rabbit@redissvr
 |/
[  ] rabbitmq_amqp1_0                  3.7.9
[  ] rabbitmq_auth_backend_cache       3.7.9
[  ] rabbitmq_auth_backend_http        3.7.9
[  ] rabbitmq_auth_backend_ldap        3.7.9
[  ] rabbitmq_auth_mechanism_ssl       3.7.9
[  ] rabbitmq_consistent_hash_exchange 3.7.9
[  ] rabbitmq_event_exchange           3.7.9
[  ] rabbitmq_federation               3.7.9
[  ] rabbitmq_federation_management    3.7.9
...

通过下面命令分别启用这两个插件:

# sudo rabbitmq-plugins enable rabbitmq_auth_backend_http

# 和

# sudo rabbitmq-plugins enable rabbitmq_auth_backend_cache

通过 sudo rabbitmqctl environment 查看系统默认设置,和这两个插件相关的部分配置如下:

 ......
 {
     stdout_formatter,[]},
 {
     syntax_tools,[]},
 {
     syslog,
     [{
     app_name,"rabbitmq-server"},{
     logger,[]},{
     syslog_error_logger,false}]},
 {
     sysmon_handler,
     [{
     busy_dist_port,true},
      {
     busy_port,false},
      {
     gc_ms_limit,0},
      {
     heap_word_limit,0},
      {
     port_limit,100},
      {
     process_limit,100},
      {
     schedule_ms_limit,0}]},
 {
     systemd,
     [{
     auto_formatter,true},
      {
     logger,
          [{
     handler,systemd_journal,systemd_journal_h,
               #{
     formatter => {
     logger_formatter,#{
     template => [msg]}}}}]},
      {
     unset_env,true},
      {
     watchdog_scale,2}]},
 {
     tools,[{
     file_util_search_methods,[{
     [],[]},{
     "ebin","esrc"},{
     "ebin","src"}]}]},
 {
     xmerl,[]}]

添加配置
不同操作系统中配置文件默认的位置分别如下:

  • Generic UNIX - $RABBITMQ_HOME/etc/rabbitmq/
  • Debian - /etc/rabbitmq/
  • RPM - /etc/rabbitmq/
  • Mac OSX (Homebrew) - ${install_prefix}/etc/rabbitmq/, the Homebrew prefix is usually /usr/local
  • Windows - %APPDATA%\RabbitMQ\

默认情况下 RabbitMQ 使用的默认配置,在该目录下面并没有配置文件,需要自己手动创建。

# vim /etc/rabbitmq/rabbitmq.conf

如果docker不支持vim
查看是否支持apt-get

# apt-get update
# agt-get install vim

在配置目录新增 rabbitmq.conf 配置文件,添加如下配置:

auth_backends.1 = cache
# 启用 cache 后,不需要直接指定 http 方式
# auth_backends.1 = http
auth_backends.2 = internal
# 缓存后端指定为 http
auth_cache.cached_backend = http
# 认证请求类型
auth_http.http_method   = post
# 认证和授权地址,官方提供了 Spring Boot 示例
# 根据需要配置下面地址
auth_http.user_path = http://localhost:3000/auth/user
auth_http.vhost_path = http://localhost:3000/auth/vhost
auth_http.resource_path = http://localhost:3000/auth/resource
auth_http.topic_path = http://localhost:3000/auth/topic
# 缓存时间,单位毫秒
auth_cache.cache_ttl = 60000

配置好后,重启 RabbitMQ 服务:

#  service rabbitmq-server restart

重启后,查看配置是否成功。

# docker ps 
# docker exec -it <RabbitMq容器ID> /bin/bash
# rabbitmqctl environment 

输出:

......

{
     rabbitmq_auth_backend_http,
     [{
     http_method,post},
      {
     resource_path,"http://localhost:3000/auth/resource"},
      {
     topic_path,"http://localhost:3000/auth/topic"},
      {
     user_path,"http://localhost:3000/auth/user"},
      {
     vhost_path,"http://localhost:3000/auth/vhost"}]},
      
......      

启动插件

rabbitmq-plugins enable rabbitmq_auth_backend_http

作者:Brook_
来源链接:https://blog.csdn.net/u012299002/article/details/122003494

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/server/17371.html

标签: RabbitMQ
分享给朋友:

“RabbitMQ 启用 rabbitmq-auth-backend-http鉴权” 的相关文章

中间件RabbitMQ

中间件RabbitMQ

一、前言 RabbitMQ在Windows上安装非常简单,就跟日常安装应用聊天软件一样,因此这里选择Linux环境安装RabbitMQ,并且借助Docker容器进行安装,在使用Docker安装RabbitMQ之前,我们先简单的了解一下几个概念:什么...

MQ--01为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比

MQ--01为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比

MQ 是什么?队列是什么,MQ 我们可以理解为消息队列,队列我们可以理解为管道。以管道的方式做消息传递。 场景:     1.其实我们在双11的时候,当我们凌晨大量的秒杀和抢购商品,然后去结算的时候,就会发现,界面会提...

RabbitMQ配置SSL

RabbitMQ配置SSL

引言 主要介绍了如何通过Docker安装RabbitMQ并配置SSL;配置成功之后给出了SpringBoot和Python集成的例子。 生成证书 $ git clone https://github.com/Berico-Technol...

RabbitMQ基本特性

RabbitMQ基本特性

1.互联网大厂为什么选择RabbitMQ? 2.RabbitMQ的高性能之道是如何做到的? 3.什么是AMQP高级协议? 4.AMQP核心概念是什么? 5.RabbitMQ整体架构模型是什么样子? 6.RabbitMQ消息是如何流...

RabbitMQ消息队列创建

RabbitMQ消息队列创建

操作环境 centos 7.9 RabbitMQ 3.8.23 Erlang 24.1.2 局域网(内网) 本文章是通过RabbitMQ图形管理界面,进行消息创建与队列绑定 首先在RabbitMQ安装时...

rabbitmq权限配置

关于rabbitmq权限的几点: rabbitmq的权限控制通过两层来实现,一是vhost的权限,二是确认有权限访问vhost后,对vhost内资源的权限控制(配置,读,写)   1.默认...

Linux系统Centos7安装RabbitMQ使用压缩包配置环境变量RabbitMQ 3.8.16.tar.xz Erlang 24

Linux系统Centos7安装RabbitMQ使用压缩包配置环境变量RabbitMQ 3.8.16.tar.xz Erlang 24

文件的下载1、创建两个安装信息的存放文件夹sudo mkdir /usr/local/rabbitmqsudo mkdir /usr/local/erlang  2、下载rabbitmq和erlangcd /usr/local/rab...

RabbitMQ与SpringBoot整合

RabbitMQ与SpringBoot整合

RabbitMQ  SpringBoot    一.RabbitMQ的介绍 二.Direct模式...

Window 下载安装 RabbitMQ

Window 下载安装 RabbitMQ

安装必看:erlang与rabbitmq版本对应关系表   "版本一定要匹配" 下载与安装 erlang 由于RabbitMQ是基于erlang的,所以,在正式安装RabbitMQ之前,需要先安装一下erlang。 下载链接:http://e...

Docker部署RabbitMQ

Docker部署RabbitMQ

【前言】 Docker : Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。