2017-04-10 187 views
1

我在一臺正在向樹莓派(客戶端)發佈消息的Windows PC上設置一個代理。在同一臺Windows機器上,我正在運行一個node.js服務器,它也是一個可以將消息發佈到在同一臺Windows計算機上運行的代理的蚊子客戶端。確保蚊子連接安全 - MQTT

我擡頭(通過簡單的谷歌搜索和閱讀官方文檔)我如何保護moquitto連接。但我還是遇到了一些問題:

  • 我怎麼能只允許一個mosquitto經紀人在同一臺機器上運行的客戶端 溝通? (例如,簡單地通過websockets發佈傳感器 值到本地前端 - 我已經在做)
  • 本地(在同一臺計算機上)客戶端需要用戶名和密碼(如果指定的話)是否需要 ?
  • 當客戶端連接到代理時,爲什麼此配置不需要用戶名和密碼 ?

mosquitto.conf

allow_anonymous false 
password_file C:\Program Files (x86)\mosquitto 

口令文件在指定位置和有效。

mosquitto -c mosquitto.conf不會引發任何錯誤。

  • 我可以包括加密 mosquitto-tls時仍然使用的用戶名和密碼?

回答

3

監聽者可以綁定到特定的接口,例如, 127.0.0.1,它只允許來自本地主機的連接。

listener 1885 127.0.0.1 

如果要限制整個經紀人只監聽本地連接使用bind_adddress配置選項可以更改默認的監聽器只在127.0.0.1而不是0.0.0.0聽(此地址表示所有的網絡接口在機器上)

如果配置了基於密碼的身份驗證,它將應用於所有偵聽器,因此如果您設置了僅本地主機偵聽器,則仍然需要提供用戶名和密碼。

可以,除非你使用客戶端證書使用基於TLS和用戶名和密碼驗證,使剛剛完成了use_identity_as_usernamerequire_certificate

+0

:本'mosquitto'經紀人只讀取Windows上的'mosquitto.conf'如果運行它作爲服務 –

+0

錯誤,它會一直讀取它,如果通過命令行通過'-c'選項 – hardillb

+0

from'readme-windows.txt' 作爲服務運行時,配置在mosquitto.conf在 安裝目錄中使用,請根據需要進行修改。 –