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,[]}

#]},

#-----------------------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM