RabbitMQ配置文件(rabbitmq.conf)
rabbitmq.conf配置文件示例:
#====================================== #RabbitMQ经纪人部分 #====================================== ##相关文档指南:https://rabbitmq.com/configure.html。看到 ## https://rabbitmq.com/documentation.html以获得文档ToC。 ## 联网 ## ==================== ## ##相关文档指南:https://rabbitmq.com/networking.html。 ## ##默认情况下,RabbitMQ将使用 ##标准(保留)AMQP 0-9-1和1.0端口。 ## #listeners.tcp.default = 5672 ##要侦听特定接口,请提供带有端口的IP地址。 ##例如,仅在本地主机上侦听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
##套接字编写器将每传输这么多字节就强制GC。 ##默认值为1 GiB(`1000000000`)。设置为“关闭”以禁用。 ## #socket_writer.gc_threshold = 1000000000 # ##禁用: #socket_writer.gc_threshold = off
## AMQP 0-9-1和AMQP 1.0握手允许的最长时间 ##(在套接字连接和TLS握手之后执行)以毫秒为单位完成。 ## #handshake_timeout = 10000
##设置为“ true”以在接受以下内容时执行反向DNS查找 ##连接。然后,rabbitmqctl和管理UI将显示主机名 ##而不是IP地址。默认值为“ false”。 ## #reverse_dns_lookups = false
## ##安全性,访问控制 ## ============== ##
##相关文档指南:https://rabbitmq.com/access-control.html。
##仅允许默认的“ guest”用户访问服务器 ##通过回送接口(例如localhost)。 ## {loopback_users,[<<“ guest” >>]}, ## #loopback_users.guest = true
##如果要允许访问以下内容,请取消注释以下行: 来自网络上任何地方的##位来宾用户。 #loopback_users.guest = false
## TLS配置。 ## ##相关文档指南:https://rabbitmq.com/ssl.html。 ## #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
#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
##选择要使用的身份验证/授权后端。 ## ##替代后端由插件提供,例如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
##身份验证 ##内置机制为“普通”, ##'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 = EXTERNAL
##要在所有客户端上强制执行基于x509证书的身份验证, ##排除所有其他机制(注意:这将禁用基于密码的 ##身份验证,甚至用于管理UI!): ## #auth_mechanisms.1 = EXTERNAL
##这与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
## ##默认用户/ VHost ## ==================== ##
##首次启动RabbitMQ将创建一个虚拟主机和一个用户。这些 ##配置项控制要创建的内容。 ##相关文档指南:https://rabbitmq.com/access-control.html ## #default_vhost = / #default_user = guest #default_pass = guest
#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心跳间隔(以秒为单位)。 ##相关文档指南: ## ## * https://rabbitmq.com/heartbeats.html ## * https://rabbitmq.com/networking.html ## #heartbeat = 60
##设置AMQP帧的最大允许大小(以字节为单位)。 ## #frame_max = 131072
##设置连接前服务器将接受的最大帧大小 ##发生调整 ## #initial_frame_max = 4096
##设置每个连接允许的最大通道数。 ## 0表示“无限制”。 ## #channel_max = 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+)设置绝对值。 ##如果定义了relative,则将忽略绝对水印! ## #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内存消耗计算策略。可以被“分配”,“ rss”或“旧版”(别名为“ erlang”), ##在3.6.11中引入。从3.6.12开始,默认为`rss`。 ##参见https://github.com/rabbitmq/rabbitmq-server/issues/1223和rabbitmq / rabbitmq-common#224了解背景。 #vm_memory_calculation_strategy = rss
##我们执行内存检查的时间间隔(以毫秒为单位) ##水平与水印。 ## #memory_monitor_interval = 2500
##可用的总内存可以从OS资源中计算得出 ##-默认选项-或作为配置参数提供。 #total_memory_available_override_value = 2GB
##设置磁盘可用限制(以字节为单位)。一旦可用磁盘空间达到此值 ##下限,将设置磁盘警报-请参阅文档 ##上面列出了更多详细信息。 ## ##如果定义了relative,则将忽略绝对水印! #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 = ignore
## pause_if_all_down策略需要其他配置 #cluster_partition_handling = pause_if_all_down
##恢复策略。可以是“autoheal”或“ignore” #cluster_partition_handling.pause_if_all_down.recover = ignore
##要检查的节点名称 #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
##使集群在启动时“automatically”发生。仅适用 ##到刚重置或首次启动的节点。 ## ##相关文档指南: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 = disc
##我们发送保持活动消息的时间间隔(以毫秒为单位) ##其他集群成员。请注意,这不是同一件事 ##为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 #product.version = 1.2.3
##“每日消息”文件。 ##其内容用于扩展已记录和打印的横幅。 ##在Unix上默认为/etc/rabbitmq/motd,%APPDATA%\RabbitMQ\motd.txt ##在Windows上。 #motd_file = /etc/rabbitmq/motd
## ------------------------------------------------ ---------------------------- ##高级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 #management.ssl.client_renegotiation = false #management.ssl.secure_renegotiate = true
##支持的TLS版本 #management.ssl.versions.1 = tlsv1.2 #management.ssl.versions.2 = tlsv1.1
##允许服务器使用的密码套件 #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
##“basic”,“detailed”或“none”之一。看到 ## https://rabbitmq.com/management.html#fine-stats了解更多详细信息。 #management.rates_mode = basic
##配置聚合数据的时间(例如消息速率和队列) ##个长度)被保留。请阅读的插件文档 ## https://rabbitmq.com/management.html#configuration了解更多 ## 细节。 ##您可以使用“minute”,“hour”和“day”键或整数键(以秒为单位) #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 Shovel插件 ## ##相关文档指南: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 = guest #stomp.default_pass = guest
##如果配置了默认用户,或者您已配置使用TLS客户端 ##基于证书的身份验证,您可以选择允许客户端 ##完全省略CONNECT框架。如果设置为true,则客户端为 ##自动连接为默认用户或 只要会话中发送的第一帧不是 ## CONNECT框架。 ## #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 = guest #mqtt.default_pass = guest
##启用匿名连接。如果将其设置为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
## ------------------------------------------------ ---------------------------- ## RabbitMQ AMQP 1.0支持 ## ##参见https://github.com/rabbitmq/rabbitmq-amqp1.0/blob/stable/README.md。 ## ------------------------------------------------ ----------------------------
#======================================= #AMQP 1.0部分 #=======================================
##未经SASL认证的连接将以此连接 ##帐户。有关更多信息,请参见自述文件。 ## ##请注意,设置此选项将允许客户端连接而无需 ##正在验证! ## #amqp1_0.default_user = guest
##启用协议严格模式。有关更多信息,请参见自述文件。 ## #amqp1_0.protocol_strict_mode = false
##记录设置。 ## ##有关详细信息,请参见https://rabbitmq.com/logging.html和https://github.com/erlang-lager/lager。 ##
##日志目录,默认情况下来自RABBITMQ_LOG_BASE env变量。 ## #log.dir = /var/log/rabbitmq
##记录到文件。可以为false或文件名。 ##默认值: #log.file = rabbit.log
##禁用记录到文件 #log.file = false
##文件记录的日志级别 ## #log.file.level = info
##文件旋转配置。默认情况下不旋转。 ##请勿将轮播日期设置为“”。如果“”是所需值,则不设置该值 #log.file.rotation.date = $D0 #log.file.rotation.size = 0
##登录到控制台(可以为true或false) ## #log.console = false
##控制台日志的日志级别 ## #log.console.level = info
##登录到amq.rabbitmq.log交换(可以为true或false) ## #log.exchange = false
##登录到amq.rabbitmq.log交换时使用的日志级别 ## #log.exchange.level = info
## ------------------------------------------------ ---------------------------- ## RabbitMQ LDAP插件 ## ##相关文档指南:https://rabbitmq.com/ldap.html。 ## ## ------------------------------------------------ ----------------------------
#======================================= #LDAP部分 #=======================================
## ##连接到LDAP服务器 ## =============================== ##
##指定要绑定的服务器。您*必须*为此设置插件 ##正常工作。 ## #auth_ldap.servers.1 = your-server-name-goes-here
##您可以定义多个服务器 #auth_ldap.servers.2 = your-other-server
##使用TLS连接到LDAP服务器 ## #auth_ldap.use_ssl = false
##指定要连接的LDAP端口 ## #auth_ldap.port = 389
## LDAP连接超时,以毫秒或“infinity”为单位 ## #auth_ldap.timeout = infinity
##或数字 #auth_ldap.timeout = 500
##启用LDAP查询的日志记录。 ##其中之一 ##-假(不执行任何日志记录) ##-true(详细记录插件使用的逻辑) ##-网络(确实如此,但还会记录LDAP网络流量) ## ##默认为false。 ## #auth_ldap.log = false
##也可以是true或network #auth_ldap.log = true #auth_ldap.log = network
## ##身份验证 ## ============== ##
##模式,用于将AMQP提供的用户名转换为DN之前的名称 ## 捆绑 ## #auth_ldap.user_dn_pattern = cn=${username},ou=People,dc=example,dc=com
##或者,您可以将用户名转换为杰出 ##绑定后通过LDAP查找进行命名。请参阅有关的文档 ##详细信息。
##通过查找将用户名转换为dn时,请将其设置为 ##代表用户名的属性名称,以及 ##查找查询的基本DN。 ## #auth_ldap.dn_lookup_attribute = userPrincipalName #auth_ldap.dn_lookup_base = DC=gopivotal,DC=com
##控制如何绑定授权查询以及如何绑定 ##检索未登录的用户的详细信息 ##密码(例如SASL EXTERNAL)。 ##其中之一 ##-as_user(绑定为经过身份验证的用户-需要密码) ##-anon(匿名绑定) ##-{UserDN,Password}(用于绑定指定的用户名和密码) ## ##默认为'as_user'。 ## #auth_ldap.other_bind = as_user
##或者可以更复杂: #auth_ldap.other_bind.user_dn = User #auth_ldap.other_bind.password = Password
##如果定义了user_dn和密码-其他选项将被忽略。
#----------------------------- #LDAP的复杂部分 #-----------------------------
## ##授权 ## ============= ##
## LDAP插件可以针对您的服务器执行各种查询 ## LDAP服务器确定授权问题。 ## ##相关文档指南:https://rabbitmq.com/ldap.html#authorisation。
##以下配置应在advanced.config文件中定义 ##不要取消注释这些行!
##设置要在确定虚拟主机访问权限时使用的查询 ## ## {vhost_access_query,{in_group, ##"ou=${vhost}-users,ou=vhosts,d=example,dc=com"}},
##设置要在确定资源(例如队列)访问时使用的查询 ## ## {resource_access_query,{constant,true}},
##设置查询以确定用户拥有哪些标签 ## ## {tag_queries,[]} #]}, #----------------------------- |
github链接:https://github.com/rabbitmq/rabbitmq-server/blob/master/docs/rabbitmq.conf.example
#======================================
#RabbitMQ经纪人部分
#======================================
##相关文档指南:https://rabbitmq.com/configure.html。看到
## https://rabbitmq.com/documentation.html以获得文档ToC。
## 联网
## ====================
##
##相关文档指南:https://rabbitmq.com/networking.html。
##
##默认情况下,RabbitMQ将使用
##标准(保留)AMQP 0-9-1和1.0端口。
##
#listeners.tcp.default = 5672
##要侦听特定接口,请提供带有端口的IP地址。
##例如,仅在本地主机上侦听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
##套接字编写器将每传输这么多字节就强制GC。
##默认值为1 GiB(`1000000000`)。设置为“关闭”以禁用。
##
#socket_writer.gc_threshold = 1000000000
#
##禁用:
#socket_writer.gc_threshold = off
## AMQP 0-9-1和AMQP 1.0握手允许的最长时间
##(在套接字连接和TLS握手之后执行)以毫秒为单位完成。
##
#handshake_timeout = 10000
##设置为“ true”以在接受以下内容时执行反向DNS查找
##连接。然后,rabbitmqctl和管理UI将显示主机名
##而不是IP地址。默认值为“ false”。
##
#reverse_dns_lookups = false
##
##安全性,访问控制
## ==============
##
##相关文档指南:https://rabbitmq.com/access-control.html。
##仅允许默认的“ guest”用户访问服务器
##通过回送接口(例如localhost)。
## {loopback_users,[<<“ guest” >>]},
##
#loopback_users.guest = true
##如果要允许访问以下内容,请取消注释以下行:
来自网络上任何地方的##位来宾用户。
#loopback_users.guest = false
## TLS配置。
##
##相关文档指南:https://rabbitmq.com/ssl.html。
##
#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
#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
##选择要使用的身份验证/授权后端。
##
##替代后端由插件提供,例如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
##身份验证
##内置机制为“普通”,
##'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 = EXTERNAL
##要在所有客户端上强制执行基于x509证书的身份验证,
##排除所有其他机制(注意:这将禁用基于密码的
##身份验证,甚至用于管理UI!):
##
#auth_mechanisms.1 = EXTERNAL
##这与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
##
##默认用户/ VHost
## ====================
##
##首次启动RabbitMQ将创建一个虚拟主机和一个用户。这些
##配置项控制要创建的内容。
##相关文档指南:https://rabbitmq.com/access-control.html
##
#default_vhost = /
#default_user = guest
#default_pass = guest
#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心跳间隔(以秒为单位)。
##相关文档指南:
##
## * https://rabbitmq.com/heartbeats.html
## * https://rabbitmq.com/networking.html
##
#heartbeat = 60
##设置AMQP帧的最大允许大小(以字节为单位)。
##
#frame_max = 131072
##设置连接前服务器将接受的最大帧大小
##发生调整
##
#initial_frame_max = 4096
##设置每个连接允许的最大通道数。
## 0表示“无限制”。
##
#channel_max = 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+)设置绝对值。
##如果定义了relative,则将忽略绝对水印!
##
#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内存消耗计算策略。可以被“分配”,“ rss”或“旧版”(别名为“ erlang”),
##在3.6.11中引入。从3.6.12开始,默认为`rss`。
##参见https://github.com/rabbitmq/rabbitmq-server/issues/1223和rabbitmq / rabbitmq-common#224了解背景。
#vm_memory_calculation_strategy = rss
##我们执行内存检查的时间间隔(以毫秒为单位)
##水平与水印。
##
#memory_monitor_interval = 2500
##可用的总内存可以从OS资源中计算得出
##-默认选项-或作为配置参数提供。
#total_memory_available_override_value = 2GB
##设置磁盘可用限制(以字节为单位)。一旦可用磁盘空间达到此值
##下限,将设置磁盘警报-请参阅文档
##上面列出了更多详细信息。
##
##如果定义了relative,则将忽略绝对水印!
#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 = ignore
## pause_if_all_down策略需要其他配置
#cluster_partition_handling = pause_if_all_down
##恢复策略。可以是“autoheal”或“ignore”
#cluster_partition_handling.pause_if_all_down.recover = ignore
##要检查的节点名称
#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
##使集群在启动时“automatically”发生。仅适用
##到刚重置或首次启动的节点。
##
##相关文档指南: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 = disc
##我们发送保持活动消息的时间间隔(以毫秒为单位)
##其他集群成员。请注意,这不是同一件事
##为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
#product.version = 1.2.3
##“每日消息”文件。
##其内容用于扩展已记录和打印的横幅。
##在Unix上默认为/etc/rabbitmq/motd,%APPDATA%\RabbitMQ\motd.txt
##在Windows上。
#motd_file = /etc/rabbitmq/motd
## ------------------------------------------------ ----------------------------
##高级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
#management.ssl.client_renegotiation = false
#management.ssl.secure_renegotiate = true
##支持的TLS版本
#management.ssl.versions.1 = tlsv1.2
#management.ssl.versions.2 = tlsv1.1
##允许服务器使用的密码套件
#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
##“basic”,“detailed”或“none”之一。看到
## https://rabbitmq.com/management.html#fine-stats了解更多详细信息。
#management.rates_mode = basic
##配置聚合数据的时间(例如消息速率和队列)
##个长度)被保留。请阅读的插件文档
## https://rabbitmq.com/management.html#configuration了解更多
## 细节。
##您可以使用“minute”,“hour”和“day”键或整数键(以秒为单位)
#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 Shovel插件
##
##相关文档指南: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 = guest
#stomp.default_pass = guest
##如果配置了默认用户,或者您已配置使用TLS客户端
##基于证书的身份验证,您可以选择允许客户端
##完全省略CONNECT框架。如果设置为true,则客户端为
##自动连接为默认用户或
只要会话中发送的第一帧不是
## CONNECT框架。
##
#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 = guest
#mqtt.default_pass = guest
##启用匿名连接。如果将其设置为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
## ------------------------------------------------ ----------------------------
## RabbitMQ AMQP 1.0支持
##
##参见https://github.com/rabbitmq/rabbitmq-amqp1.0/blob/stable/README.md。
## ------------------------------------------------ ----------------------------
#=======================================
#AMQP 1.0部分
#=======================================
##未经SASL认证的连接将以此连接
##帐户。有关更多信息,请参见自述文件。
##
##请注意,设置此选项将允许客户端连接而无需
##正在验证!
##
#amqp1_0.default_user = guest
##启用协议严格模式。有关更多信息,请参见自述文件。
##
#amqp1_0.protocol_strict_mode = false
##记录设置。
##
##有关详细信息,请参见https://rabbitmq.com/logging.html和https://github.com/erlang-lager/lager。
##
##日志目录,默认情况下来自RABBITMQ_LOG_BASE env变量。
##
#log.dir = /var/log/rabbitmq
##记录到文件。可以为false或文件名。
##默认值:
#log.file = rabbit.log
##禁用记录到文件
#log.file = false
##文件记录的日志级别
##
#log.file.level = info
##文件旋转配置。默认情况下不旋转。
##请勿将轮播日期设置为“”。如果“”是所需值,则不设置该值
#log.file.rotation.date = $D0
#log.file.rotation.size = 0
##登录到控制台(可以为true或false)
##
#log.console = false
##控制台日志的日志级别
##
#log.console.level = info
##登录到amq.rabbitmq.log交换(可以为true或false)
##
#log.exchange = false
##登录到amq.rabbitmq.log交换时使用的日志级别
##
#log.exchange.level = info
## ------------------------------------------------ ----------------------------
## RabbitMQ LDAP插件
##
##相关文档指南:https://rabbitmq.com/ldap.html。
##
## ------------------------------------------------ ----------------------------
#=======================================
#LDAP部分
#=======================================
##
##连接到LDAP服务器
## ===============================
##
##指定要绑定的服务器。您*必须*为此设置插件
##正常工作。
##
#auth_ldap.servers.1 = your-server-name-goes-here
##您可以定义多个服务器
#auth_ldap.servers.2 = your-other-server
##使用TLS连接到LDAP服务器
##
#auth_ldap.use_ssl = false
##指定要连接的LDAP端口
##
#auth_ldap.port = 389
## LDAP连接超时,以毫秒或“infinity”为单位
##
#auth_ldap.timeout = infinity
##或数字
#auth_ldap.timeout = 500
##启用LDAP查询的日志记录。
##其中之一
##-假(不执行任何日志记录)
##-true(详细记录插件使用的逻辑)
##-网络(确实如此,但还会记录LDAP网络流量)
##
##默认为false。
##
#auth_ldap.log = false
##也可以是true或network
#auth_ldap.log = true
#auth_ldap.log = network
##
##身份验证
## ==============
##
##模式,用于将AMQP提供的用户名转换为DN之前的名称
## 捆绑
##
#auth_ldap.user_dn_pattern = cn=${username},ou=People,dc=example,dc=com
##或者,您可以将用户名转换为杰出
##绑定后通过LDAP查找进行命名。请参阅有关的文档
##详细信息。
##通过查找将用户名转换为dn时,请将其设置为
##代表用户名的属性名称,以及
##查找查询的基本DN。
##
#auth_ldap.dn_lookup_attribute = userPrincipalName
#auth_ldap.dn_lookup_base = DC=gopivotal,DC=com
##控制如何绑定授权查询以及如何绑定
##检索未登录的用户的详细信息
##密码(例如SASL EXTERNAL)。
##其中之一
##-as_user(绑定为经过身份验证的用户-需要密码)
##-anon(匿名绑定)
##-{UserDN,Password}(用于绑定指定的用户名和密码)
##
##默认为'as_user'。
##
#auth_ldap.other_bind = as_user
##或者可以更复杂:
#auth_ldap.other_bind.user_dn = User
#auth_ldap.other_bind.password = Password
##如果定义了user_dn和密码-其他选项将被忽略。
#-----------------------------
#LDAP的复杂部分
#-----------------------------
##
##授权
## =============
##
## LDAP插件可以针对您的服务器执行各种查询
## LDAP服务器确定授权问题。
##
##相关文档指南:https://rabbitmq.com/ldap.html#authorisation。
##以下配置应在advanced.config文件中定义
##不要取消注释这些行!
##设置要在确定虚拟主机访问权限时使用的查询
##
## {vhost_access_query,{in_group,
##"ou=${vhost}-users,ou=vhosts,d=example,dc=com"}},
##设置要在确定资源(例如队列)访问时使用的查询
##
## {resource_access_query,{constant,true}},
##设置查询以确定用户拥有哪些标签
##
## {tag_queries,[]}
#]},
#-----------------------------