mosquitto配置文件


title: mosquitto配置文件
date: 2017-06-5 14:18:06
tags: mqtt,mosquitto,conf


mosquitto配置文件

故事背景

最近,閑來無事,搞起了mqtt。使用“brew install mosquitto” 安裝完了mosquitto 后開始研究配置文件,信息量有點大,還是英文的。下面是用google翻譯機械翻譯的。

google翻譯后的結果

#配置文件為mosquitto
#參見mosquitto.conf(5)了解更多信息。
#顯示默認值,取消注釋以更改。
#使用#字符來表示注釋,但只有當它是
#第一個字符就行了。

#=============================================== ================
#一般配置
#================================================= ================

#重新發送出站QoS = 1或QoS = 2消息之前等待的時間(秒)。
#retry_interval 20

#$ SYS樹更新之間的時間(秒)。
#設置為0以禁用$ SYS樹的發布。
#sys_interval 10

#清除未引用消息的內部消息存儲之間的時間(秒)。較低的值將導致更低的內存使用,但更多的處理器時間,較高的值將產生相反的效果。
#設置值為0表示未被引用的消息將被盡快處理。
#store_clean_interval 10

#將進程標識寫入文件。默認是一個空白字符串,這意味著不應該寫一個pid文件。
#如果在啟動時使用init腳本和start-stop-daemon或類似程序啟動mosquitto,則應將其設置為/var/run/mosquitto.pid。
#pid_file

#以root身份運行時,將此權限刪除給該用戶及其主組。
#留空以保持為root,但不建議這樣做。
#如果以非root用戶身份運行,此設置不起作用。
#注意,在Windows上這沒有任何效果,所以蚊子應該由您希望運行的用戶啟動。
#user mosquitto

#當前每個客戶端的QoS 1和2消息的最大數量。
#這包括通過握手和正在重試的消息。默認為20.設置為0,無最大值。設置為1將保證QoS 1和2消息的按順序傳送。
#max_inflight_messages 20

#隊列中保持的QoS 1和2消息的最大數量超過當前正在運行的。默認為100.設置為0,無最大值(不推薦)。
#另請參見queue_qos0_messages。
#max_queued_messages 100

#當持久性客戶端被斷開連接時,設置為true以排隊具有QoS 0的消息。這些消息包含在由max_queued_messages強加的限制之內。
#默認為false。
#這是MQTT v3.1規范的非標準選項,但允許使用
#v3.1.1。
#queue_qos0_messages false

#此選項設置代理將允許的最大發布有效載荷大小。
#經紀人不會接收超過此大小的收到的郵件。
#默認值為0,表示接受所有有效的MQTT消息。 MQTT的最大有效載荷大小為268435455個字節。
#message_size_limit 0

#此選項控制是否允許客戶端與零長度客戶機ID連接。此選項僅影響使用MQTT v3.1.1及更高版本的客戶端。如果設置為false,則與客戶端id的零長度連接的客戶端將被斷開連接。如果設置為true,則客戶端將被代理分配一個客戶機ID。這意味著只有清潔會話設置為true的客戶端才有用。
#allow_zero_length_clientid true

#如果allow_zero_length_clientid為true,則此選項允許您將前綴設置為自動生成的客戶端ID以幫助日志中的可見性。
#auto_id_prefix

#此選項允許永久性客戶端(干凈會話設置為false)被刪除,如果它們在一定時間段內未重新連接。
#
#這是MQTT V3.1中的非標準選項,但在MQTT v3.1.1中允許。
#
#使用隨機生成的客戶端ID時,設計糟糕的客戶端可能將清潔會話設置為false。這導致永遠不會重新連接的持久客戶端。此選項允許刪除這些客戶端。
#
#過期期間應該是一個整數,然后分別是小時,日,周,月和年的h d w m y之一。例如
#
#persistent_client_expiration 2m
#persistent_client_expiration 14d
#persistent_client_expiration 1y
#
#如果沒有設置,默認為永久不會過期。
#persistent_client_expiration

#如果客戶端訂閱了重疊的多個訂閱,例如foo /#和foo / + / baz,那么MQTT期望當代理人收到一個與兩個訂閱(如foo / bar / baz)匹配的主題的消息時,客戶端應該只接收一次消息。
#Mosquitto跟蹤哪些客戶端已經發送了一個消息,以滿足這一要求。 allow_duplicate_messages選項允許禁用此行為,如果您有大量客戶端訂閱相同的主題集并且非常關心最小化內存使用情況,這可能會很有用。
#如果您事先知道您的客戶端將永遠不會有重疊的訂閱,則可以將其設置為true,否則即使有QoS = 2,您的客戶端也必須能夠正確地處理重復的消息。
#allow_duplicate_messages為false

#=============================================== ================
#默認監聽器
#=============================================== ================

#將IP地址/主機名綁定到默認偵聽器。如果沒有給出,默認監聽器將不會被綁定到特定的地址,所以所有網絡接口都可以訪問。 bind_address ip-address /主機名
#bind_address

#用于默認偵聽器的端口。
#port 1883

#允許的最大客戶端連接數。這是一個每個監聽器設置。默認值為-1,表示無限制連接。請注意,其他進程限制意味著無限連接不是真的可能。通常,可能的默認最大連接數約為1024。
#max_connections -1

#選擇聽時要使用的協議。這可以是mqtt或websockets。默認情況下,Websockets支持在編譯時被禁用。基于證書的TLS可以與websockets一起使用,但只支持cafile,certfile,keyfile和ciphers選項。
#protocol mqtt

#當偵聽器使用websockets協議時,也可以提供http數據。將http_dir設置為包含要提供的文件的目錄。如果未指定此選項,則無法正常的http連接。
#http_dir

#將use_username_as_clientid設置為true以替換與其用戶名連接的客戶端的clientid。這允許認證綁定到clientid,這意味著可以通過使用相同的clientid來防止一個客戶端斷開另一個客戶端。如果客戶端連接沒有用戶名,則將不會斷開連接
#將此選項設置為true時授權。不要與clientid_prefixes一起使用。另請參見use_identity_as_username。
#use_username_as_clientid

#------------------------------------------------- ----------------
#基于證書的SSL / TLS支持
#------------------------------------------------- ----------------
#以下選項可用于為此偵聽器啟用SSL / TLS支持。請注意,MQTT over TLS的推薦端口為8883,但必須手動設置。
#另見mosquitto-tls手冊頁。

#必須至少定義一個cafile或capath。它們都定義了訪問已簽署服務器證書并且希望信任的PEM編碼的證書頒發機構證書的方法。 cafile定義包含CA證書的文件的路徑。 capath定義將搜索包含CA證書的文件的目錄。為了使capath正常工作,證書文件必須具有“.crt”作為文件結束,您必須在每次添加/刪除證書時運行“c_rehash <path to capath>”。
#cafile
#capath

#PEM編碼服務器證書的路徑。
#certfile

#PEM編碼密鑰文件的路徑。
#keyfile

#此選項定義要用于此偵聽器的TLS協議的版本。默認值允許v1.2,v1.1和v1.0,如果它們都是經過編譯的openssl版本都支持的。對于openssl> = 1.0.1,有效值為tlsv1.2 tlsv1.1和tlsv1。對于openssl <1.0.1,有效值為tlsv1。
#tls_version

#默認情況下,啟用TLS的偵聽器將以與啟用https的Web服務器類似的方式運行,因為服務器具有由CA簽名的證書,客戶端將驗證它是否為可信證書。總體目標是加密網絡流量。通過將require_certificate設置為true,客戶端必須提供有效的證書才能繼續進行網絡連接。這允許在MQTT提供的機制之外對代理進行訪問。
#require_certificate為false

#如果require_certificate為true,則可以將use_identity_as_username設置為true,以使用客戶端證書中的CN值作為用戶名。如果是這樣,密碼文件選項將不會用于此偵聽器。
#use_identity_as_username false

#如果將require_certificate設置為true,則可以創建證書吊銷列表文件以撤消對特定客戶端證書的訪問。如果您這樣做,請使用crlfile指向PEM編碼的撤銷文件。
#crlfile

#如果要控制使用哪種加密密碼,請使用ciphers選項。可以使用“openssl ciphers”命令來選擇可用密碼列表,并且應該以與該命令的輸出相同的格式提供。如果未設置默認為DEFAULT:!aNULL:!eNULL:!LOW:!EXPORT:!SSLv2:@STRENGTH
#ciphers DEFAULT:!aNULL:!eNULL:!LOW:!EXPORT:!SSLv2:@STRENGTH

#------------------------------------------------- ----------------
#基于預共享密鑰的SSL / TLS支持
#------------------------------------------------- ----------------
#以下選項可用于為此偵聽器啟用基于PSK的SSL / TLS支持。請注意,MQTT over TLS的推薦端口為8883,但必須手動設置。
#
#另請參閱mosquitto-tls手冊頁和“基于證書的SSL / TLS支持”部分。只有一個證書或PSK加密支持可以
#為任何偵聽器啟用。

#psk_hint選項啟用此偵聽器的預共享密鑰支持,并且還作為此偵聽器的標識符。提示發送給客戶端,可以在本地使用以幫助身份驗證。提示是一個自由的字符串,本身沒有太多的意義,所以隨意做創意。如果提供此選項,請參閱psk_file來定義要使用的預共享密鑰或創建安全插件來處理它們。
#psk_hint

#將use_identity_as_username設置為將客戶端發送的psk標識用作其用戶名。驗證將使用PSK而不是MQTT用戶名/密碼進行,因此password_file將不會用于此偵聽器。
#use_identity_as_username false

#使用PSK時,使用的加密密碼將從可用的PSK密碼列表中選擇。如果要控制哪些密碼可用,請使用“密碼”選項。可以使用“openssl ciphers”命令來選擇可用密碼列表,并且應該以與該命令的輸出相同的格式提供。
#ciphers

#=============================================== ================
#多聽眾
#=============================================== ================

#監聽端口/ ip地址組合。通過多次使用這個變量,蚊子可以在多個端口上收聽。如果使用此變量,并且既沒有bind_address也沒有給出端口,則默認監聽器將不會被啟動。必須給出要監聽的端口號。可選地,可以提供IP地址或主機名作為第二參數。在這種情況下,mosquitto將嘗試將偵聽器綁定到該地址,從而限制對相關網絡和接口的訪問。默認情況下,mosquitto會偵聽所有接口。請注意,對于Websockets偵聽器,不可能綁定到主機名。 listener port-number [ip address / host name]
#listener

#允許的最大客戶端連接數。這是一個每個監聽器設置。默認值為-1,表示無限制連接。請注意,其他進程限制意味著無限連接不是真的可能。通常,可能的默認最大連接數約為1024。
#max_connections -1

#監聽器可以被限制為使用mount_point選項在主題層次結構中運行。對于連接到此偵聽器的任何客戶端,實現了將mount_point字符串前綴到所有主題的前綴。這種前綴只在內部在經紀人身上發生;客戶端將看不到前綴。
#mount_point

#選擇聽時要使用的協議。這可以是mqtt或websockets。基于證書的TLS可以與websockets一起使用,但只支持cafile,certfile,keyfile和ciphers選項。
#protocol mqtt

#當偵聽器使用websockets協議時,也可以提供http數據。將http_dir設置為包含要提供的文件的目錄。如果未指定此選項,則無法正常的http連接。
#http_dir

#將use_username_as_clientid設置為true以替換與其用戶名連接的客戶端的clientid。這允許認證綁定到clientid,這意味著可以通過使用相同的clientid來防止一個客戶端斷開另一個客戶端。如果客戶端連接沒有用戶名,則當該選項設置為true時,它將被斷開,因為未被授權。不要與clientid_prefixes一起使用。另請參見use_identity_as_username。
#use_username_as_clientid

#------------------------------------------------- ----------------
#基于證書的SSL / TLS支持
#------------------------------------------------- ----------------
#以下選項可用于為此偵聽器啟用基于證書的SSL / TLS支持。請注意,MQTT over TLS的推薦端口為8883,但必須手動設置。
#
#另請參見mosquitto-tls手冊頁和“基于預共享密鑰的SSL / TLS支持”部分。只有一個證書或PSK加密支持可以為任何監聽器啟用。


#必須至少定義一個cafile或capath以啟用基于證書的TLS加密。它們都定義了訪問已簽署服務器證書并且希望信任的PEM編碼的證書頒發機構證書的方法。 cafile定義包含CA證書的文件的路徑。 capath定義將搜索包含CA證書的文件的目錄。為了使capath正常工作,證書文件必須具有“.crt”作為文件結束,您必須在每次添加/刪除證書時運行“c_rehash <path to capath>”。
#cafile
#capath

#PEM編碼服務器證書的路徑。
#certfile

#PEM編碼密鑰文件的路徑。
#keyfile

#默認情況下,啟用TLS的偵聽器將以與啟用https的Web服務器類似的方式運行,因為服務器具有由CA簽名的證書,客戶端將驗證它是否為可信證書。總體目標是加密網絡流量。通過將require_certificate設置為true,客戶端必須提供有效的證書才能繼續進行網絡連接。這允許在MQTT提供的機制之外對代理進行訪問。
#require_certificate為false

#如果require_certificate為true,則可以將use_identity_as_username設置為true,以使用客戶端證書中的CN值作為用戶名。如果是這樣,密碼文件選項將不會用于此偵聽器。
#use_identity_as_username false

#如果將require_certificate設置為true,則可以創建證書吊銷列表文件以撤消對特定客戶端證書的訪問。如果您這樣做,請使用crlfile指向PEM編碼的撤銷文件。
#crlfile

#如果要控制使用哪種加密密碼,請使用ciphers選項。可以使用“openssl ciphers”命令來選擇可用密碼列表,并且應該以與該命令的輸出相同的格式提供。
#ciphers

#------------------------------------------------- ----------------
#基于預共享密鑰的SSL / TLS支持
#------------------------------------------------- ----------------
#以下選項可用于為此偵聽器啟用基于PSK的SSL / TLS支持。請注意,MQTT over TLS的推薦端口為8883,但必須手動設置。
#
#另請參閱mosquitto-tls手冊頁和“基于證書的SSL / TLS支持”部分。只有一個證書或PSK加密支持可以為任何監聽器啟用。

#psk_hint選項啟用此偵聽器的預共享密鑰支持,并且還作為此偵聽器的標識符。提示發送給客戶端,可以在本地使用以幫助身份驗證。提示是一個自由的字符串,本身沒有太多的意義,所以隨意做創意。如果提供此選項,請參閱psk_file來定義要使用的預共享密鑰或創建安全插件來處理它們。
#psk_hint

#將use_identity_as_username設置為將客戶端發送的psk標識用作其用戶名。驗證將使用PSK而不是MQTT用戶名/密碼進行,因此password_file將不會用于此偵聽器。
#use_identity_as_username false

#使用PSK時,使用的加密密碼將從可用的PSK密碼列表中選擇。如果要控制哪些密碼可用,請使用“密碼”選項。可以使用“openssl ciphers”命令來選擇可用密碼列表,并且應該以與該命令的輸出相同的格式提供。
#ciphers

#=============================================== ================
持久性
#=============================================== ================

#如果啟用持久性,請將內存數據庫保存到每個autosave_interval秒。如果設置為0,則持久性數據庫將僅在mosquitto退出時被寫入。另請參見autosave_on_changes。請注意,持久性數據庫的寫入可以通過將蚊子發送到SIGUSR1信號來強制執行。
#autosave_interval 1800

#如果為真,mosquitto將計算訂閱更改次數,保留收到的消息和排隊消息,如果總數超過autosave_interval,則內存數據庫將被保存到磁盤。如果為false,則mosquitto會將內存數據庫保存到磁盤,方法是將autosave_interval視為一段時間。
#autosave_on_changes false

將永久消息數據保存到磁盤(true / false)。這將保存有關所有消息的信息,包括訂閱,當前正在運行的消息和保留的消息。 retain_persistence是此選項的同義詞。
#persistence false

#用于持久數據庫的文件名,不包括路徑。
#persistence_file mosquitto.db

#持久數據庫的位置。必須包含尾/默認是一個空字符串(當前目錄)。設置為例如/ var / lib / mosquitto /如果在Linux或類似的服務器上運行。
#persistence_location

#=============================================== ================
#記錄
#=============================================== ================

#登錄的地方。對多個日志記錄目的地使用多個log_dest行。可能的目的地是:stdout stderr syslog主題文件
#
#stdout和stderr登錄到命名輸出的控制臺。
#
#syslog使用通常結束于/ var / log / messages或類似的userspace syslog工具。
#
#主題記錄到代理主題'$ SYS / broker / log / <severity>',其中severity是D,E,W,N,I,M之一,它們是調試,錯誤,警告,通知,信息和消息。消息類型嚴重性由subscribe / unsubscribe log_types使用,并將日志消息發布到$ SYS / broker / log / M / susbcribe或$ SYS / broker / log / M / unsubscribe。
#
#文件目的地需要一個附加參數,這是一個要記錄的文件,例如。 “log_dest file /var/log/mosquitto.log”。當代理接收到HUP信號時,文件將被關閉并重新打開。只能配置一個文件目的地。
#
#注意,如果代理作為Windows服務運行,它將默認為“log_dest none”,stdout和stderr日志都不可用。如果要禁用日志記錄,請使用“log_dest none”。
#log_dest stderr

#如果使用syslog日志記錄(不在Windows上),默認情況下會將消息記錄到“守護程序”工具。使用log_facility選項來選擇local0 to local7來登錄。期權值應為整數值,例如“log_facility 5”使用local5。
#log_facility

#要記錄的消息的類型。使用多個log_type行來記錄多種類型的消息。可能的類型是:調試,錯誤,警告,通知,信息,無,訂閱,取消訂閱,Websockets,所有。請注意,調試類型消息用于解碼傳入/傳出網絡數據包。他們沒有登錄“主題”。
#log_type錯誤
#log_type警告
#log_type通知
#log_type信息

#更改websockets日志記錄級別。這是一個全局選項,不可能設置每個監聽器。這是由libwebsockets解釋為lws_log_levels枚舉的位掩碼的整數。有關更多詳細信息,請參閱libwebsockets文檔。還必須啟用“log_type websockets”。
#websockets_log_level 0

#如果設置為true,客戶端連接和斷開連接消息將包含在日志中。
#connection_messages為true

#如果設置為true,請為每個日志消息添加時間戳值。
#log_timestamp true

#=============================================== ================
#安全
#=============================================== ================

#如果設置,只有在clientid上具有匹配前綴的客戶端將被允許連接到代理。默認情況下,所有客戶端都可以連接。例如,在這里設置“secure-”意味著客戶端“安全客戶端”可以連接,而另一個客戶端“mqtt”則不能連接。
#clientid_prefixes

#布爾值,用于確定連接而不提供用戶名的客戶端是否允許連接。如果設置為false,則應創建一個密碼文件(請參閱password_file選項)來控制經過身份驗證的客戶端訪問。默認為true。
#allow_anonymous true

#除了clientid_prefixes,allow_anonymous和TLS身份驗證選項之外,還可以進行基于用戶名的身份驗證。默認支持在下面的“默認身份驗證和主題訪問控制”中進行了說明。 auth_plugin允許使用其他身份驗證方法。指定可加載插件的路徑,并參閱下面的“驗證和主題訪問插件選項”部分。
#auth_plugin

#------------------------------------------------- ----------------
#默認認證和主題訪問控制
#------------------------------------------------- ----------------

#使用密碼文件控制對代理的訪問。可以使用mosquitto_passwd實用程序生成此文件。如果TLS支持沒有被編譯到mosquitto(建議應該包含TLS支持),那么使用純文本密碼,在這種情況下文件應該是一個文本文件,行格式為:username:password密碼(和冒號)如果需要可以省略,盡管這提供了很少的安全性。
#
#查看TLS客戶端require_certificate和use_identity_as_username選項以進行備用認證選項。
#password_file


#訪問也可以使用預共享密鑰文件進行控制。這需要TLS-PSK支持和配置為使用它的偵聽器。該文件應該是格式如下的文本行:identity:key該鍵應為十六進制格式,不帶前導“0x”。
#psk_file

#使用訪問控制列表文件控制代理上的主題訪問。如果定義了此參數,則只列出列出的主題。如果ACL文件的一行的第一個字符是#,則將其視為注釋。主題訪問添加了以下格式的行:
#
#topic [read | write | readwrite] <topic>
#
#訪問類型使用“讀”,“寫”或“讀寫”進行控制。此參數是可選的(除非<topic>包含一個空格字符) - 如果沒有給出,則訪問是讀/寫。 <topic>可以包含與訂閱中的+或#通配符。
#
#假設allow_anonymous為true,第一組主題應用于匿名客戶端。用戶特定主題ACL在用戶行之后添加如下:
#
#user <username>
#
#這里提到的用戶名與password_file相同。這不是客戶。
#
#
#如果還可以根據主題中的模式替換來定義ACL。可用于變電站的模式有:
#
#%c以匹配客戶端%u的客戶端ID以匹配客戶端的用戶名
#
#替代模式必須是層次結構級別的唯一文本。
#
#表單與主題關鍵字相同,但使用模式作為關鍵字。即使先前已經提供了“user”關鍵字,模式ACL也適用于所有用戶。
#
#如果使用具有用戶名和ACL的網橋,可以使用以下模式允許連接消息:pattern write $ SYS / broker / connection /%c / state
#
#pattern [read | write | readwrite] <topic>
#
#示例:
#
#模式寫入傳感器/%u /數據
#
#acl_file

#------------------------------------------------- ----------------
#驗證和主題訪問插件選項
#------------------------------------------------- ----------------

#如果使用上面的auth_plugin選項,請按照插件說明所述定義選項以傳遞給插件。使用格式auth_opt_ *命名的所有選項將被傳遞到插件,例如:
#
#auth_opt_db_host
#auth_opt_db_port
#auth_opt_db_username
#auth_opt_db_password


#=============================================== ================
#橋
#=============================================== ================

#橋是連接多個MQTT經紀人的一種方式。使用“連接”選項創建一個新橋,如下所述。使用剩余的參數設置橋梁的選項。您必須指定地址和至少一個要訂閱的主題。每個連接必須有唯一的名稱。地址線可以指定多個主機地址和端口。有關使用多個地址的橋接行為的更多詳細信息,請參見round_robin描述。可以通過在默認值為out的地方指定out或者兩者來選擇主題將被共享的方向。可以使用下一個主題選項指定橋接通信的QoS級別。默認QoS級別為0,為了改變QoS,也必須給出主題方向。本地和遠程前綴選項允許在橋接到/從遠程代理程序時重新映射主題。這提供了將主題樹放置在適當位置的能力。有關詳細信息,請參閱mosquitto.conf手冊頁。可以為每個連接指定多個主題,但要小心不要創建任何循環。如果您使用將cleanession設置為false(默認值),那么如果更改了您要訂閱的主題,則可能會從傳入的主題中獲取意外的行為。這是因為遠程代理保留舊主題的訂閱。如果您有這個問題,將您的網橋與cleanession設置為true,然后將cleanession設置為false正常連接。
#connection <name>
#address <host> [:<port>] [<host> [:<port>]]
#topic <topic> [[[out |在| both] qos-level] local-prefix remote-prefix]

#設置此橋接使用的MQTT協議版本。可以是mqttv31或mqttv311之一。默認為mqttv31。
#bridge_protocol_version mqttv31

#如果一個網橋具有“out”方向的主題,那么默認的行為就是發送一個取消訂閱請求給該主題的遠程代理。這意味著將主題方向從“in”更改為“out”將不會繼續接收傳入的消息。發送這些取消訂閱請求并不總是可取的,將bridge_attempt_unsubscribe設置為false將禁止發送取消訂閱請求。
#bridge_attempt_unsubscribe true


#如果橋接器在地址/地址配置中提供多個地址,那么round_robin選項可以定義橋接器故障時橋接器的行為。如果round_robin為false,則為默認值,則將第一個地址視為主橋連接。如果連接失敗,將會依次嘗試其他輔助地址。當連接到次級橋時,橋將定期嘗試重新連接到主橋,直到成功。如果round_robin為true,則所有地址都被視為等于。如果連接失敗,將嘗試下一個地址,如果成功將保持連接,直到失敗
#round_robin false

#設置該橋接連接遠端使用的客戶端ID。如果未定義,則默認為“name.hostname”,其中name是連接名稱,hostname是此計算機的主機名。這替換了舊的“clientid”選項,以避免混淆。 “clientid”暫時有效。
#remote_clientid

#將clientid設置為在本地代理上使用。如果未定義,則默認為“local”。<clientid>“。如果您將代理橋接到自身,那么local_clientid和clientid不重要。
#local_clientid

#設置此橋接器的干凈會話變量。當設置為true時,當橋由于任何原因斷開連接時,所有消息和訂閱將在遠程代理上清除。請注意,將清理設置為true后,當橋接器在連接失敗后重新連接時可能會發送大量保留的消息。當設置為false時,訂閱和消息將保留在遠程代理上,并在橋重新連接時發送。
#cleansession false

#如果設置為true,請向本地和遠程代理發布通知消息,以提供有關橋接連接狀態的信息。保留的消息被發布到主題$ SYS / broker / connection / <clientid> / state,除非使用notification_topic選項。如果消息為1,則連接處于活動狀態,如果連接失敗,則為0。
#notifications為真

#選擇發布此網橋的通知消息的主題。如果未設置,消息將在主題$ SYS / broker / connection / <clientid> / state上發布
#notification_topic

#設置此橋接連接的keepalive間隔時間,單位為秒。
#keepalive_interval 60

#設置橋的起始類型。這控制了橋梁的啟動方式,可以是三種類型之一:自動,懶惰和一次。請注意,RSMB提供了第四種起始類型“手動”,目前不被蚊子支持。
#
#“自動”是默認的開始類型,意味著當代理啟動時,橋連接將自動啟動,如果連接失敗,則在短時延(30秒)后重新啟動。
#
#排隊消息數超過“threshold”參數設置的數字時,使用“懶惰”啟動類型的橋將自動啟動。它將在“idle_timeout”參數設置的時間后自動停止。如果希望連接只有在需要時才能處于活動狀態,請使用此啟動類型。
#
#當代理啟動時,使用“一次”啟動類型的橋將自動啟動,但如果連接失敗,將不會重新啟動。
#start_type自動

#設置橋接器使用自動啟動類型的時間等待,直到嘗試重新連接。默認為30秒。
#restart_timeout 30

#設置使用延遲啟動類型的網橋在停止之前必須空閑的時間。默認為60秒。
#idle_timeout 60

#設置要重新啟動具有延遲啟動類型的網橋需要排隊的消息數。默認為10條消息。必須小于max_queued_messages。
#threshold 10

#如果try_private設置為true,橋將嘗試向遠程代理指示它不是普通客戶端的橋。如果成功,這意味著循環檢測將更有效,并且保留的消息將被正確傳播。并非所有經紀人都支持此功能,因此如果您的網橋連接不正確,可能需要將try_private設置為false。
#try_private true

#設置連接到需要身份驗證的代理時使用的用戶名。這將替換舊的“用戶名”選項,以避免混淆。 “username”暫時有效。
#remote_username

#設置連接到需要身份驗證的代理時使用的密碼。僅當還設置了remote_username時才使用此選項。這將替換舊的“密碼”選項以避免混淆。 “密碼”暫時有效。
#remote_password


#------------------------------------------------- ----------------
#基于證書的SSL / TLS支持
#------------------------------------------------- ----------------
#必須定義bridge_cafile或bridge_capath才能啟用此橋接的TLS支持。 bridge_cafile定義包含已簽署遠程代理證書的證書頒發機構證書的文件的路徑。 bridge_capath定義將搜索包含CA證書的文件的目錄。為了使bridge_capath正常工作,證書文件必須以“.crt”作為文件結束,并且每次添加/刪除證書時都必須運行“c_rehash <path to capath>”。
#bridge_cafile
#bridge_capath

#遠程代理所需的PEM編碼客戶端證書的路徑。
#bridge_certfile

#遠程代理所需的PEM編碼客戶端私鑰的路徑。
#bridge_keyfile

#在使用基于證書的加密時,bridge_insecure禁用對服務器證書中服務器主機名的驗證。這在測試初始服務器配置時可能很有用,但是通過DNS欺騙可以讓惡意第三方冒充您的服務器。僅在測試中使用此選項。如果您需要在生產環境中使用此選項,則您的設置會出現故障,并且無需使用加密。
#bridge_insecure false

#------------------------------------------------- ----------------
#基于PSK的SSL / TLS支持
#------------------------------------------------- ----------------
#預共享密鑰加密為基于證書的加密提供了替代方案。橋可以配置為使用具有bridge_identity和bridge_psk選項的PSK。這些是客戶端PSK標識,并且以十六進制格式預共享密鑰,沒有“0x”。一次只能在一個橋上使用證書和基于PSK的加密之一。
#bridge_identity
#bridge_psk


#=============================================== ================
#外部配置文件
#=============================================== ================

#使用include_dir選項可以包括外部配置文件。這定義了一個將要搜索配置文件的目錄。以“.conf”結尾的所有文件都將作為配置文件加載。最好將其作為主文件中的最后一個選項。此選項只能從主配置文件處理。指定的目錄不能包含主配置文件。
#include_dir

#=============================================== ================
#rsmb選項 - 不太可能被支持
#=============================================== ================

#ffdc_output
#max_log_entries
#trace_level
#trace_output
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,619評論 6 539
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,155評論 3 425
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,635評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,539評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,255評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,646評論 1 326
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,655評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,838評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,399評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,146評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,338評論 1 372
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,893評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,565評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,983評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,257評論 1 292
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,059評論 3 397
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,296評論 2 376

推薦閱讀更多精彩內容