rabbitmq配置文件

## 这个示例配置文件演示了各种设置
## 可通过 rabbitmq.conf 获得。它主要关注核心代理设置
## 但也涵盖了一些第 1 层插件设置。
##
## 这个文件是一个例子。它不打算用于生产。代替
## 复制整个(大!)文件,为目标系统创建或生成一个新的rabbitmq.conf
## 并使用必要的设置填充它。
##
## 请参阅 https://rabbitmq.com/configure.html 了解如何配置 RabbitMQ,
## rabbitmq.conf 使用的 ini 样式格式,它与 `advanced.config` 有何不同,
##如何验证配置是否有效,等等。
##
## 有关 RabbitMQ 文档的其余部分,请参阅 https://rabbitmq.com/documentation.html。
##
## 如果您有任何问题,请使用 RabbitMQ 社区 Slack 和 rabbitmq-users 谷歌组
## 而不是 GitHub 问题。

# =======================================
# 核心代理部分
# =======================================


## 联网
## =====================
##
## 相关文档指南:https://rabbitmq.com/networking.html。
##
## 默认情况下,RabbitMQ 将监听所有接口,使用
## 标准(保留)AMQP 0-9-1 和 1.0 端口。
##
# listeners.tcp.default = 5672


## 要侦听特定接口,请提供带有端口的 IP 地址。
## 例如,仅在 localhost 上侦听 IPv4 和 IPv6:
##
# IPv4
# listeners.tcp.local = 127.0.0.1:5672
# IPv6
# listeners.tcp.local_v6 = ::1:5672

## 可以使用监听器名称定义多个监听器
# listeners.tcp.other_port = 5673
# listeners.tcp.other_ip = 10.10.10.10:5672


## TLS 监听器的配置方式与 TCP 监听器相同,
##包括控制界面选择的选项。
##
# listeners.ssl.default = 5671

## 可以禁用常规 TCP(非 TLS)侦听器。客户
## 未配置为使用 TLS,并且无法启用正确的启用 TLS 的端口
## 连接到这个节点。
# listeners.tcp = none

## 将接受 TCP 连接的 Erlang 进程数
## 和 TLS 侦听器。
##
# num_acceptors.tcp = 10
# num_acceptors.ssl = 10

## Socket writer 将强制 GC 每传输这么多字节。
## 默认为 1 GiB (`1000000000`)。设置为“关闭”以禁用。
##
# socket_writer.gc_threshold = 1000000000
#
## 禁用:
# socket_writer.gc_threshold = 关闭

## AMQP 0-9-1 和 AMQP 1.0 握手允许的最长时间
##(在套接字连接和 TLS 握手之后执行)完成,以毫秒为单位。
##
# 握手超时 = 10000

## 设置为 'true' 以在接受 a 时执行反向 DNS 查找联系。 rabbitmqctl 和管理 UI 将显示主机名
## 而不是 IP 地址。默认值为“假”。
##
# reverse_dns_lookups = false

##
## 安全、访问控制
## ==============
##

## 相关文档指南:https://rabbitmq.com/access-control.html。

## 默认的“guest”用户只允许访问服务器
## 通过环回接口(例如本地主机)。
## {loopback_users, [<<"guest">>]},
##
# loopback_users.guest = true

## 如果要允许访问,请取消注释以下行
## 来自网络上任何地方的访客用户。
# loopback_users.guest = false

## TLS 配置。
##
## 相关文档指南:https://rabbitmq.com/ssl.html。
##
# listeners.ssl.1 = 5671
#
# ssl_options.verify = verify_peer
# ssl_options.fail_if_no_peer_cert = false
# ssl_options.cacertfile = /path/to/cacert.pem
# ssl_options.certfile = /path/to/cert.pem
# ssl_options.keyfile = /path/to/key.pem
#
# ssl_options.honor_cipher_order = true
# ssl_options.honor_ecc_order = true
#
## 这些强烈推荐用于 TLSv1.2,但不能使用
## 使用 TLSv1.3。如果启用了 TLSv1.3,则必须删除这些行。
# ssl_options.client_renegotiation = false
# ssl_options.secure_renegotiate = true
#
## 限制服务器为客户端 TLS 启用的 TLS 版本
## 连接。有关详细信息,请参阅 https://www.rabbitmq.com/ssl.html#tls-versions。
##
## 需要最新客户端运行时的尖端 TLS 版本
## 版本,并且没有与早期 TLS 版本相同的密码套件。
# ssl_options.versions.1 = tlsv1.3
## 启用 TLSv1.2 以获得最佳兼容性
# ssl_options.versions.2 = tlsv1.2
## 旧 TLS 版本存在已知漏洞,正在逐步淘汰
## 广泛使用。

## 限制服务器将用于客户端 TLS 的密码套件
## 连接。缩小范围可以阻止一些客户
##来自连接。
## 如果启用 TLSv1.3 并覆盖密码套件,则特定于 TLSv1.3
## 密码套件也必须显式启用。
## 见 https://www.rabbitmq.com/ssl.html#cipher-suites 和 https://wiki.openssl.org/index.php/TLS1.3#Ciphersuites
##了解详情。
#
## 下面的示例仅使用 TLSv1.3 密码套件
#
# ssl_options.ciphers.1 = TLS_AES_256_GCM_SHA384
# ssl_options.ciphers.2 = TLS_AES_128_GCM_SHA256
# ssl_options.ciphers.3 = TLS_CHACHA20_POLY1305_SHA256
# ssl_options.ciphers.4 = TLS_AES_128_CCM_SHA256
# ssl_options.ciphers.5 = TLS_AES_128_CCM_8_SHA256
#
## 下面的示例仅使用 TLSv1.2 密码套件
#
# ssl_options.ciphers.1 = ECDHE-ECDSA-AES256-GCM-SHA384
# ssl_options.ciphers.2 = ECDHE-RSA-AES256-GCM-SHA384
# ssl_options.ciphers.3 = ECDHE-ECDSA-AES256-SHA384
# ssl_options.ciphers.4 = ECDHE-RSA-AES256-SHA384
# ssl_options.ciphers.5 = ECDH-ECDSA-AES256-GCM-SHA384
# ssl_options.ciphers.6 = ECDH-RSA-AES256-GCM-SHA384
# ssl_options.ciphers.7 = ECDH-ECDSA-AES256-SHA384
# ssl_options.ciphers.8 = ECDH-RSA-AES256-SHA384
# ssl_options.ciphers.9 = DHE-RSA-AES256-GCM-SHA384
# ssl_options.ciphers.10 = DHE-DSS-AES256-GCM-SHA384
# ssl_options.ciphers.11 = DHE-RSA-AES256-SHA256
# ssl_options.ciphers.12 = DHE-DSS-AES256-SHA256
# ssl_options.ciphers.13 = ECDHE-ECDSA-AES128-GCM-SHA256
# ssl_options.ciphers.14 = ECDHE-RSA-AES128-GCM-SHA256
# ssl_options.ciphers.15 = ECDHE-ECDSA-AES128-SHA256
# ssl_options.ciphers.16 = ECDHE-RSA-AES128-SHA256
# ssl_options.ciphers.17 = ECDH-ECDSA-AES128-GCM-SHA256
# ssl_options.ciphers.18 = ECDH-RSA-AES128-GCM-SHA256
# ssl_options.ciphers.19 = ECDH-ECDSA-AES128-SHA256
# ssl_options.ciphers.20 = ECDH-RSA-AES128-SHA256
# ssl_options.ciphers.21 = DHE-RSA-AES128-GCM-SHA256
# ssl_options.ciphers.22 = DHE-DSS-AES128-GCM-SHA256
# ssl_options.ciphers.23 = DHE-RSA-AES128-SHA256
# ssl_options.ciphers.24 = DHE-DSS-AES128-SHA256
# ssl_options.ciphers.25 = ECDHE-ECDSA-AES256-SHA
# ssl_options.ciphers.26 = ECDHE-RSA-AES256-SHA
# ssl_options.ciphers.27 = DHE-RSA-AES256-SHA
# ssl_options.ciphers.28 = DHE-DSS-AES256-SHA
# ssl_options.ciphers.29 = ECDH-ECDSA-AES256-SHA
# ssl_options.ciphers.30 = ECDH-RSA-AES256-SHA
# ssl_options.ciphers.31 = ECDHE-ECDSA-AES128-SHA
# ssl_options.ciphers.32 = ECDHE-RSA-AES128-SHA
# ssl_options.ciphers.33 = DHE-RSA-AES128-SHA
# ssl_options.ciphers.34 = DHE-DSS-AES128-SHA
# ssl_options.ciphers.35 = ECDH-ECDSA-AES128-SHA
# ssl_options.ciphers.36 = ECDH-RSA-AES128-SHA

# ssl_options.bypass_pem_cache = true

## 选择要使用的身份验证/授权后端。
##
## 替代后端由插件提供,例如rabbitmq-auth-backend-ldap。
##
## 注意:这些设置需要启用某些插件。
##
## 相关文档指南:
##
## * https://rabbitmq.com/plugins.html
## * https://rabbitmq.com/access-control.html
##

# auth_backends.1 = rabbit_auth_backend_internal

## 使用单独的后端进行身份验证和授权,见下文。
# auth_backends.1.authn = rabbit_auth_backend_ldap
# auth_backends.1.authz = rabbit_auth_backend_internal

## rabbitmq_auth_backend_ldap 插件允许代理
##通过推迟到一个执行身份验证和授权
## 外部 LDAP 服务器。
##
## 相关文档指南:
##
## * https://rabbitmq.com/ldap.html
## * https://rabbitmq.com/access-control.html
##
## 使用 LDAP 进行身份验证和授权
# auth_backends.1 = rabbit_auth_backend_ldap

## 使用 HTTP 服务进行身份验证和授权
# auth_backends.1 = rabbit_auth_backend_http

## 在一个链中使用两个后端:首先是 HTTP,然后是内部
# auth_backends.1 = rabbit_auth_backend_http
# auth_backends.2 = rabbit_auth_backend_internal

## 验证
## 内置机制是'PLAIN',
## 'AMQPLAIN' 和 'EXTERNAL' 可以通过添加额外的机制
## 插件。
##
## 相关文档指南:https://rabbitmq.com/authentication.html。
##
# auth_mechanisms.1 = PLAIN
# auth_mechanisms.2 = AMQPLAIN

## rabbitmq-auth-mechanism-ssl 插件可以
## 根据客户端的 x509 (TLS) 证书对用户进行身份验证。
## 相关文档指南:https://rabbitmq.com/authentication.html。
##
## 要使用 auth-mechanism-ssl,EXTERNAL 机制应该
##启用:
##
# auth_mechanisms.1 = PLAIN
# auth_mechanisms.2 = AMQPLAIN
# auth_mechanisms.3 = 外部

## 在所有客户端上强制基于 x509 证书的身份验证,
## 排除所有其他机制(注意:这将禁用基于密码的
## 身份验证,即使是管理 UI!):
##
# auth_mechanisms.1 = 外部

## 这与 rabbitmq-auth-mechanism-ssl 插件和
## STOMP ssl_cert_login 配置。请参阅 RabbitMQ STOMP 插件
## 此文件后面的配置部分和 README 中
## https://github.com/rabbitmq/rabbitmq-auth-mechanism-ssl 进一步了解细节。
##
## 使用 TLS 证书的 CN 而不是其 DN 作为用户名
##
# ssl_cert_login_from = common_name

## TLS 握手超时,以毫秒为单位。
##
# ssl_handshake_timeout = 5000


## 集群名称
##
# cluster_name = dev3.eng.megacorp.local

## 密码哈希实现。只会影响新的
## 创建的用户。为现有用户重新计算哈希
##有必要更新她的密码。
##
## 要使用 SHA-512,请设置为 rabbit_password_hashing_sha512。
##
# password_hashing_module = rabbit_password_hashing_sha256

## 导入从早期版本导出的定义时
##比3.6.0,有可能回到MD5(只做这个
## 作为临时措施!)通过将其设置为 rabbit_password_hashing_md5。
##
# password_hashing_module = rabbit_password_hashing_md5

##
## 默认用户/虚拟主机
## =====================
##

## 第一次启动 RabbitMQ 将创建一个虚拟主机和一个用户。这些
## 配置项控制创建的内容。
## 相关文档指南:https://rabbitmq.com/access-control.html
##
# default_vhost = /
# default_user = 来宾
# default_pass = 客人

# default_permissions.configure = .*
# default_permissions.read = .*
# default_permissions.write = .*

## 默认用户的标签
##
##有关标签的更多详细信息,请参阅文档
## 管理插件位于 https://rabbitmq.com/management.html。
##
# default_user_tags.administrator = true

## 像这样定义其他标签:
# default_user_tags.management = true
# default_user_tags.custom_tag = true

##
## 额外的网络和协议相关配置
## ================================================= =====
##

## 以秒为单位设置服务器 AMQP 0-9-1 心跳超时。
## RabbitMQ 节点将发送心跳帧大约
## (timeout / 2) 间隔。两次错过的心跳
## 客户端将关闭其连接。
##
## 低于 6 秒的值很可能产生
## 误报,不推荐。
##
## 相关文档指南:
##
## * https://rabbitmq.com/heartbeats.html
## * https://rabbitmq.com/networking.html
##
# 心跳 = 60

## 设置 AMQP 帧的最大允许大小(以字节为单位)。
##
#frame_max = 131072

## 设置服务器在连接前将接受的最大帧大小
## 调整发生
##
# 初始帧最大值 = 4096

## 设置每个连接的最大允许通道数。
## 0 表示“无限制”。
##
# 通道最大值 = 128

## 自定义 TCP 侦听器(套接字)配置。
##
## 相关文档指南:
##
## * https://rabbitmq.com/networking.html
## * https://www.erlang.org/doc/man/inet.html#setopts-2
##

# tcp_listen_options.backlog = 128
# tcp_listen_options.nodelay = true
# tcp_listen_options.exit_on_close = false
#
# tcp_listen_options.keepalive = true
# tcp_listen_options.send_timeout = 15000
#
# tcp_listen_options.buffer = 196608
# tcp_listen_options.sndbuf = 196608
# tcp_listen_options.recbuf = 196608

##
## 资源限制和流量控制
## ===============================
##
## 相关文档指南:https://rabbitmq.com/memory.html。

## 基于内存的流控制阈值。
##
# vm_memory_high_watermark.relative = 0.4

## 或者,我们可以设置节点使用的 RAM 限制(以字节为单位)。
##
# vm_memory_high_watermark.absolute = 1073741824

## 或者您可以使用内存单元设置绝对值(使用 RabbitMQ 3.6.0+)。
## 如果定义了相对,绝对水印将被忽略!
##
# vm_memory_high_watermark.absolute = 2GB
##
## 支持的单位符号:
##
## k, kiB:千比字节(2^10 - 1,024 字节)
## M,MiB:兆字节(2^20 - 1,048,576 字节)
## G,GiB:千兆字节(2^30 - 1,073,741,824 字节)
## kB:千字节(10^3 - 1,000 字节)
## MB:兆字节(10^6 - 1,000,000 字节)
## GB:千兆字节(10^9 - 1,000,000,000 字节)



## 队列开始到的高水位线限制的分数
## 将消息传出到磁盘以释放内存。
## 比如当vm_memory_high_watermark设置为0.4并且这个值设置为0.5时,
## 分页可以在节点使用总可用 RAM 的 20% 时开始。
##
## 大于 1.0 的值可能很危险,应谨慎使用。
##
## 一种替代方法是使用持久队列并发布消息
## 持久化(交付模式 = 2)。使用这种组合队列将
## 更快地将消息移动到磁盘。
##
## 另一种选择是配置队列以分页所有消息(两者
## 持久性和瞬时性)尽快到磁盘
## 尽可能,请参阅 https://rabbitmq.com/lazy-queues.html。
##
# vm_memory_high_watermark_paging_ratio = 0.5

## 选择 Erlang VM 内存消耗计算策略。可以是`allocated`、`rss`或`legacy`(别名为`erlang`),
## 在 3.6.11 中引入。 `rss` 是 3.6.12 的默认值。
## 背景见 https://github.com/rabbitmq/rabbitmq-server/issues/1223 和 rabbitmq/rabbitmq-common#224。
# vm_memory_calculation_strategy = rss

##我们执行内存检查的时间间隔(以毫秒为单位)
## 针对水印的级别。
##
# memory_monitor_interval = 2500

##可用的总内存可以从操作系统资源中计算出来
## - 默认选项 - 或作为配置参数提供。
# total_memory_available_override_value = 2GB

## 设置磁盘空闲限制(以字节为单位)。一旦可用磁盘空间达到此
## 下限,将设置磁盘警报 - 请参阅文档
## 上面列出的更多详细信息。
##
## 如果定义了相对,绝对水印将被忽略!
# disk_free_limit.absolute = 50000

## 或者您可以使用内存单元设置它(与 vm_memory_high_watermark 相同)
## 使用 RabbitMQ 3.6.0+。
# disk_free_limit.absolute = 500KB
# disk_free_limit.absolute = 50mb
#disk_free_limit.absolute = 5GB

## 或者,我们可以设置相对于总可用 RAM 的限制。
##
## 低于 1.0 的值可能很危险,应谨慎使用。
# disk_free_limit.relative = 2.0

##
## 聚类
## ======================
##
# cluster_partition_handling = 忽略

## 暂停分区少数方的所有节点。集群
## 必须有奇数个节点(3、5 等)
# cluster_partition_handling = pause_minority

## pause_if_all_down 策略需要额外配置
# cluster_partition_handling = pause_if_all_down

## 恢复策略。可以是“自动修复”或“忽略”
# cluster_partition_handling.pause_if_all_down.recover = 忽略

## 要检查的节点名称
# cluster_partition_handling.pause_if_all_down.nodes.1 = rabbit@localhost
# cluster_partition_handling.pause_if_all_down.nodes.2 = hare@localhost

## 镜像同步批量大小,在消息中。增加这将加速
## 向上同步,但以字节为单位的总批量大小不得超过 2 GiB。
## 在 RabbitMQ 3.6.0 或更高版本中可用。
##
# mirroring_sync_batch_size = 4096

## 使集群在启动时*自动*发生。仅适用
## 到刚刚重置或首次启动的节点。
##
## 相关文档指南:https://rabbitmq.com//cluster-formation.html
##

# cluster_formation.peer_discovery_backend = rabbit_peer_discovery_classic_config
#
# cluster_formation.classic_config.nodes.1 = rabbit1@hostname
# cluster_formation.classic_config.nodes.2 = rabbit2@hostname
# cluster_formation.classic_config.nodes.3 = rabbit3@hostname
# cluster_formation.classic_config.nodes.4 = rabbit4@hostname

## 基于 DNS 的对等发现。此后端将列出 A 记录
## 配置的主机名并执行反向查找
## 返回的地址。

# cluster_formation.peer_discovery_backend = rabbit_peer_discovery_dns
# cluster_formation.dns.hostname = discovery.eng.example.local

## 可以配置此节点的类型。如果你不确定
## 使用什么节点类型,总是使用'disc'。
# cluster_formation.node_type = 磁盘

## 我们发送keepalive消息的时间间隔(以毫秒为单位)
## 给其他集群成员。请注意,这不是一回事
## as net_ticktime;错过keepalive消息不会导致节点
##要考虑下来。
##
# cluster_keepalive_interval = 10000

##
## 统计收集
## ======================
##

## 统计信息收集间隔(以毫秒为单位)。增加
## 这将减少管理数据库的负载。
##
# collect_statistics_interval = 5000

## 精细与粗略统计
#
# 这个值不再意味着直接配置。
#
# 见 https://www.rabbitmq.com/management.html#fine-stats。

##
## Ra 设置
## ======================
##
# raft.segment_max_entries = 65536
# raft.wal_max_size_bytes = 1048576
# raft.wal_max_batch_size = 4096
# raft.snapshot_chunk_size = 1000000

##
## 杂项/高级选项
## ======================
##
## 注意:只有在您了解自己在做什么的情况下才能更改这些!
##

## 等待集群中的 Mnesia 表时使用的超时
##变为可用。
##
# mnesia_table_loading_retry_timeout = 30000

## 在集群启动中等待 Mnesia 表时重试。注意
## 此设置不适用于 Mnesia 升级或节点删除。
##
# mnesia_table_loading_retry_limit = 10

## 将消息嵌入队列索引的字节大小。
## 相关文档指南:https://rabbitmq.com/persistence-conf.html
##
# queue_index_embed_msgs_below = 4096

##你也可以以内存为单位设置这个大小
##
# queue_index_embed_msgs_below = 4kb

## 是否为所有人启用后台定期强制GC运行
## 节点上的 Erlang 进程处于“等待”状态。
##
## 禁用后台 GC 可能会减少客户端操作的延迟,
## 保持启用可能会减少二进制堆的平均 RAM 使用量
##(参见 https://www.erlang-solutions.com/blog/erlang-garbage-collector.html)。
##
## 在尝试这个选项之前,请先看看内存
## 细分(https://www.rabbitmq.com/memory-use.html)。
##
# background_gc_enabled = false

## 我们运行后台 GC 的目标(期望)间隔(以毫秒为单位)。
## 实际间隔会根据执行所需的时间而有所不同
## 操作(可以高于这个区间)。值小于
## 不建议使用 30000 毫秒。
##
# background_gc_target_interval = 60000

## 是否启用代理协议支持。
##一旦启用,客户端无法直接连接到代理
## 不再。它们必须通过负载均衡器连接,该负载均衡器发送
## 代理协议头在连接时发送给代理。
## 此设置仅适用于 AMQP 客户端,其他协议
## 像 MQTT 或 STOMP 有自己的设置来启用代理协议。
## 有关更多信息,请参阅插件文档。
##
# proxy_protocol = false

## 覆盖产品名称和版本。
## 它们默认设置为“RabbitMQ”和发布版本。
# product.name = RabbitMQ
# 产品版本 = 1.2.3

##“每日消息”文件。
## 它的内容用于扩展记录和打印的横幅。
## 默认为 /etc/rabbitmq/motd on Unix, %APPDATA%\RabbitMQ\motd.txt
## 在 Windows 上。
# motd_file = /etc/rabbitmq/motd

##消费者超时
## 如果在此计时器之前没有确认传递给消费者的消息
## 触发通道将被代理强制关闭。这确保了
## 从不确认的错误消费者不会无限期地持有消息。
##
# 消费者超时 = 900000

##------------------------------------------------ ----------------------------
## 高级 Erlang 网络/集群选项。
##
## 相关文档指南:https://rabbitmq.com/clustering.html
##------------------------------------------------ ----------------------------

# =======================================
# 内核部分
# =======================================

## 超时用于检测对等不可用,包括 CLI 工具。
## 相关文档指南:https://www.rabbitmq.com/nettick.html。
##
# net_ticktime = 60

## 节点间通信端口范围。
## 参数 inet_dist_listen_min 和 inet_dist_listen_max
## 只能以经典配置格式进行配置。
## 相关文档指南:https://www.rabbitmq.com/networking.html#epmd-inet-dist-port-range。


##------------------------------------------------ ----------------------------
## RabbitMQ 管理插件
##
## 相关文档指南:https://rabbitmq.com/management.html。
##------------------------------------------------ ----------------------------

# ========================================
# 管理部分
# ========================================

## 从以下 JSON 文件中预加载架构定义。
## 相关文档指南:https://rabbitmq.com/management.html#load-definitions。
##
# management.load_definitions = /path/to/exported/definitions.json

## 将所有对管理 HTTP API 的请求记录到一个文件中。
##
# management.http_log_dir = /path/to/access.log

## HTTP 侦听器和嵌入式 Web 服务器设置。
# ## 详见 https://rabbitmq.com/management.html。
#
# management.tcp.port = 15672
# management.tcp.ip = 0.0.0.0
#
# management.tcp.shutdown_timeout = 7000
# management.tcp.max_keepalive = 120
# management.tcp.idle_timeout = 120
# management.tcp.inactivity_timeout = 120
# management.tcp.request_timeout = 120
# management.tcp.compress = true

## HTTPS 侦听器设置。
## 详见 https://rabbitmq.com/management.html 和 https://rabbitmq.com/ssl.html。
##
# management.ssl.port = 15671
# management.ssl.cacertfile = /path/to/ca_certificate.pem
# management.ssl.certfile = /path/to/server_certificate.pem
# management.ssl.keyfile = /path/to/server_key.pem

## 更多 TLS 选项
# management.ssl.honor_cipher_order = true
# management.ssl.honor_ecc_order = true

## 这些强烈推荐用于 TLSv1.2,但不能使用
## 使用 TLSv1.3。如果启用了 TLSv1.3,则必须删除这些行。
# management.ssl.client_renegotiation = false
# management.ssl.secure_renegotiate = true

## 支持的 TLS 版本
# management.ssl.versions.1 = tlsv1.2

## 服务器允许使用的密码套件
# management.ssl.ciphers.1 = ECDHE-ECDSA-AES256-GCM-SHA384
# management.ssl.ciphers.2 = ECDHE-RSA-AES256-GCM-SHA384
# management.ssl.ciphers.3 = ECDHE-ECDSA-AES256-SHA384
# management.ssl.ciphers.4 = ECDHE-RSA-AES256-SHA384
# management.ssl.ciphers.5 = ECDH-ECDSA-AES256-GCM-SHA384
# management.ssl.ciphers.6 = ECDH-RSA-AES256-GCM-SHA384
# management.ssl.ciphers.7 = ECDH-ECDSA-AES256-SHA384
# management.ssl.ciphers.8 = ECDH-RSA-AES256-SHA384
# management.ssl.ciphers.9 = DHE-RSA-AES256-GCM-SHA384

## HTTP API 和管理 UI 的 URL 路径前缀
# management.path_prefix = /a-prefix

##“基本”、“详细”或“无”之一。看
## https://rabbitmq.com/management.html#fine-stats 了解更多详情。
# management.rates_mode = 基本

## 配置多长时间聚合数据(例如消息率和队列
## 长度)被保留。请阅读插件的文档
## https://rabbitmq.com/management.html#configuration 了解更多细节。
## 您可以使用“分钟”、“小时”和“日”键或整数键(以秒为单位)
# management.sample_retention_policies.global.minute = 5
# management.sample_retention_policies.global.hour = 60
# management.sample_retention_policies.global.day = 1200

# management.sample_retention_policies.basic.minute = 5
# management.sample_retention_policies.basic.hour = 60

# management.sample_retention_policies.detailed.10 = 5

##------------------------------------------------ ----------------------------
## RabbitMQ 铲子插件
##
## 相关文档指南:https://rabbitmq.com/shovel.html
##------------------------------------------------ ----------------------------

## 有关 Shovel 插件示例,请参见 advanced.config.example


##------------------------------------------------ ----------------------------
## RabbitMQ STOMP 插件
##
## 相关文档指南:https://rabbitmq.com/stomp.html
##------------------------------------------------ ----------------------------

# ========================================
# STOMP 部分
# ========================================

## 详见 https://rabbitmq.com/stomp.html。

## TCP 监听器。
##
# stomp.listeners.tcp.1 = 127.0.0.1:61613
# stomp.listeners.tcp.2 = ::1:61613

## TCP 监听设置
##
# stomp.tcp_listen_options.backlog = 2048
# stomp.tcp_listen_options.recbuf = 131072
# stomp.tcp_listen_options.sndbuf = 131072
#
# stomp.tcp_listen_options.keepalive = true
# stomp.tcp_listen_options.nodelay = true
#
# stomp.tcp_listen_options.exit_on_close = true
# stomp.tcp_listen_options.send_timeout = 120

## 代理协议支持
##
# stomp.proxy_protocol = false

## TLS 监听器
## 详见 https://rabbitmq.com/stomp.html 和 https://rabbitmq.com/ssl.html。
# stomp.listeners.ssl.default = 61614
#
# ssl_options.cacertfile = path/to/cacert.pem
# ssl_options.certfile = path/to/cert.pem
# ssl_options.keyfile = path/to/key.pem
# ssl_options.verify = verify_peer
# ssl_options.fail_if_no_peer_cert = true


## 将接受 TCP 连接的 Erlang 进程数
## 和 TLS 侦听器。
##
# stomp.num_acceptors.tcp = 10
# stomp.num_acceptors.ssl = 1

## 额外的 TLS 选项

## 使用 TLS 时从客户端的证书中提取名称。
##
# stomp.ssl_cert_login = true

## 设置默认用户名和密码。这用作默认登录名
## 每当 CONNECT 框架省略登录和密码标头时。
##
## 请注意,设置此项将允许客户端在没有
##认证!
##
# stomp.default_user = 来宾
# stomp.default_pass = 客人

## 如果配置了默认用户,或者您已配置使用 TLS 客户端
##基于证书的身份验证,您可以选择允许客户端
## 完全省略 CONNECT 框架。如果设置为 true,则客户端是
## 自动连接为默认用户或提供的用户
## TLS 证书,只要在会话中发送的第一帧不是
## 连接帧。
##
# stomp.implicit_connect = true

## 是否启用代理协议支持。
##一旦启用,客户端无法直接连接到代理
## 不再。它们必须通过负载均衡器连接,该负载均衡器发送
## 代理协议头在连接时发送给代理。
## 此设置仅适用于 STOMP 客户端,其他协议
## 像 MQTT 或 AMQP 有自己的设置来启用代理协议。
## 有关更多信息,请参阅插件或代理文档。
##
# stomp.proxy_protocol = false

##------------------------------------------------ ----------------------------
## RabbitMQ MQTT 适配器
##
## 见 https://github.com/rabbitmq/rabbitmq-mqtt/blob/stable/README.md
##了解详情
##------------------------------------------------ ----------------------------

# ========================================
# MQTT 部分
# ========================================

## TCP 侦听器设置。
##
# mqtt.listeners.tcp.1 = 127.0.0.1:61613
# mqtt.listeners.tcp.2 = ::1:61613

## TCP 侦听器选项(根据代理配置)。
##
# mqtt.tcp_listen_options.backlog = 4096
# mqtt.tcp_listen_options.recbuf = 131072
# mqtt.tcp_listen_options.sndbuf = 131072
#
# mqtt.tcp_listen_options.keepalive = true
# mqtt.tcp_listen_options.nodelay = true
#
# mqtt.tcp_listen_options.exit_on_close = true
# mqtt.tcp_listen_options.send_timeout = 120

## TLS 监听器设置
## ## 详见 https://rabbitmq.com/mqtt.html 和 https://rabbitmq.com/ssl.html。
#
# mqtt.listeners.ssl.default = 8883
#
# ssl_options.cacertfile = /path/to/tls/ca_certificate_bundle.pem
# ssl_options.certfile = /path/to/tls/server_certificate.pem
# ssl_options.keyfile = /path/to/tls/server_key.pem
# ssl_options.verify = verify_peer
# ssl_options.fail_if_no_peer_cert = true
#


## 将接受 TCP 连接的 Erlang 进程数
## 和 TLS 侦听器。
##
# mqtt.num_acceptors.tcp = 10
# mqtt.num_acceptors.ssl = 10

## 是否启用代理协议支持。
##一旦启用,客户端无法直接连接到代理
## 不再。它们必须通过负载均衡器连接,该负载均衡器发送
## 代理协议头在连接时发送给代理。
## 此设置仅适用于 STOMP 客户端,其他协议
## 像 STOMP 或 AMQP 有自己的设置来启用代理协议。
## 有关更多信息,请参阅插件或代理文档。
##
# mqtt.proxy_protocol = false

## 设置用于匿名连接的默认用户名和密码(当客户端
## 不提供凭据)。非常不鼓励匿名连接!
##
# mqtt.default_user = 来宾
# mqtt.default_pass = 访客

## 启用匿名连接。如果设置为 false,客户端必须提供
## 凭据以便连接。另请参阅 mqtt.default_user/mqtt.default_pass
## 键。非常不鼓励匿名连接!
##
# mqtt.allow_anonymous = true

## 如果您有多个虚拟主机,请指定要访问的虚拟主机
## 适配器连接。
##
# mqtt.vhost = /

## 指定从 MQTT 客户端发布消息的交换。
##
# mqtt.exchange = amq.topic

## 指定 TTL(生存时间)来控制非干净会话的生命周期。
##
# mqtt.subscription_ttl = 1800000

## 设置预取计数(控制未确认的最大数量
## 将被传递的消息)。
##
# mqtt.prefetch = 10

## 设置用于 QoS 1 订阅的持久队列类型。
##
## 支持的类型有:
##
## * 经典的
## * 法定人数
##
## 重要提示:更改此设置需要使用的所有现有队列
## 要删除的 MQTT 插件,否则客户端将无法订阅。
## 所以这个设置应该用于新的集群。
##
# mqtt.durable_queue_type = 经典



##------------------------------------------------ ----------------------------
## RabbitMQ AMQP 1.0 支持
##
## 见 https://github.com/rabbitmq/rabbitmq-amqp1.0/blob/stable/README.md。
##------------------------------------------------ ----------------------------

# ========================================
# AMQP 1.0 部分
# ========================================


## 未使用 SASL 进行身份验证的连接将按此方式连接帐户。有关更多信息,请参阅自述文件。
##
## 请注意,设置此项将允许客户端在没有
##认证!
##
# amqp1_0.default_user = 来宾

## 启用协议严格模式。有关更多信息,请参阅自述文件。
##
# amqp1_0.protocol_strict_mode = false

## 日志记录设置。
##
## 有关详细信息,请参阅 https://rabbitmq.com/logging.html。
##

## 日志目录,默认取自 RABBITMQ_LOG_BASE 环境变量。
##
# log.dir = /var/log/rabbitmq

## 记录到文件。可以是 false 或文件名。
## 默认:
# log.file = rabbit.log

## 禁用记录到文件
# 日志文件 = 假

## 文件记录的日志级别
##
# log.file.level = 信息

## 文件轮换配置。默认不旋转。
## 不要将轮换日期设置为“”。如果 "" 是所需的值,则不要设置该值
# log.file.rotation.date = $D0
# log.file.rotation.size = 0

## 记录到控制台(可以是真或假)
##
# log.console = false

## 控制台日志的日志级别
##
# log.console.level = 信息

## 记录到 amq.rabbitmq.log 交换(可以是真或假)
##
# log.exchange = 假

## 登录到 amq.rabbitmq.log 交换时使用的日志级别
##
# log.exchange.level = 信息



##------------------------------------------------ ----------------------------
## RabbitMQ LDAP 插件
##
## 相关文档指南:https://rabbitmq.com/ldap.html。
##
##------------------------------------------------ ----------------------------

# ========================================
# LDAP 部分
# ========================================

##
## 连接到 LDAP 服务器
## =================================
##

## 指定要绑定的服务器。您*必须*设置此插件才能使用
## 正常工作。
##
# auth_ldap.servers.1 = 你的服务器名称去这里

##可以定义多个服务器
# auth_ldap.servers.2 = 你的其他服务器

## 使用 TLS 连接到 LDAP 服务器
##
# auth_ldap.use_ssl = false

## 指定要连接的 LDAP 端口
##
# auth_ldap.port = 389

## LDAP 连接超时,以毫秒或“无穷大”为单位
##
# auth_ldap.timeout = 无穷大

## 或号码
# auth_ldap.timeout = 500

## 启用 LDAP 查询的日志记录。
##之一
## - false(不执行日志记录)
## - true(插件使用的逻辑的详细日志记录)
## - 网络(为真,但另外记录 LDAP 网络流量)
##
## 默认为假。
##
# auth_ldap.log = 假

## 也可以是真或网络
# auth_ldap.log = true
# auth_ldap.log = 网络

##
## 验证
## ==============
##

## 将通过 AMQP 给定的用户名转换为之前的 DN 的模式
## 捆绑
##
# auth_ldap.user_dn_pattern = cn=${username},ou=People,dc=example,dc=com

## 或者,您可以将用户名转换为 Distinguished
## 绑定后通过 LDAP 查找的名称。请参阅文档
##完整的细节。

## 通过查找将用户名转换为 dn 时,将这些设置为
## 代表用户名的属性名称,以及
## 查找查询的基本 DN。
##
# auth_ldap.dn_lookup_attribute = userPrincipalName
# auth_ldap.dn_lookup_base = DC=gopivotal,DC=com

## 控制如何绑定授权查询以及如何绑定
## 检索用户登录的详细信息而不显示
## 密码(例如,SASL 外部)。
##之一
## - as_user(绑定为经过身份验证的用户 - 需要密码)
## - anon(匿名绑定)
## - {UserDN, Password}(与指定的用户名和密码绑定)
##
## 默认为“as_user”。
##
# auth_ldap.other_bind = as_user

## 或者可以更复杂:
# auth_ldap.other_bind.user_dn = 用户
# auth_ldap.other_bind.password = 密码

## 如果定义了 user_dn 和密码 - 其他选项将被忽略。

# -----------------------------
# LDAP 太复杂的部分
# -----------------------------

##
## 授权
## ==============
##

## LDAP 插件可以针对您的
## LDAP 服务器来确定授权问题。
##
## 相关文档指南:https://rabbitmq.com/ldap.html#authorisation。

## 下面的配置应该在advanced.config文件中定义
## 不要取消注释这些行!

## 设置在确定虚拟主机访问时使用的查询
##
## {vhost_access_query, {in_group,
## "ou=${vhost}-users,ou=vhosts,dc=example,dc=com"}},

## 设置在确定资源(例如,队列)访问时使用的查询
##
## {resource_access_query, {constant, true}},

## 设置查询以确定用户拥有哪些标签
##
## {tag_queries, []}
# ]},

posted @ 2022-05-13 15:28  1769987233  阅读(362)  评论(0编辑  收藏  举报