MQTT 和 MQTTS 應用
建立 MQTT 或 MQTTS 應用,並配置監聽埠、上游、客戶端標識規則和 TLS。
MQTT 和 MQTTS 應用用於在 OpenResty Edge 上代理 MQTT 客戶端與 Broker 之間的 長連線。MQTT 使用明文連線;MQTTS 使用 TLS 保護客戶端到閘道器的連線。
此功能在 OpenResty Edge 26.12.1-1 中首次引入。
準備閘道器分割槽
先開啟 閘道器叢集 > 閘道器分割槽,為目標分割槽新增 MQTT 或 MQTTS 監聽埠。 應用只能選擇已經在其分割槽中配置的對應協議埠。
建立應用
- 開啟 應用,點選 新建應用。
- 選擇 MQTT 或 MQTTS,填寫應用名稱和分割槽。
- 選擇監聽埠並儲存。
- 新增 TCP 上游,填寫 Broker 地址和埠。
- 為 MQTTS 應用在 SSL 頁面配置證書和 TLS 選項。
- 在 釋出 頁面檢查變更併發布應用。

MQTT 應用沒有 SSL 配置頁。MQTTS 應用除了常規流式應用頁面外,還提供 SSL 配置;客戶端必須使用 TLS 連線 MQTTS 監聽埠。
按 MQTT Client ID 匹配規則
在應用的頁面規則中,可以使用 MQTT Client ID 條件匹配客戶端在 MQTT
CONNECT 報文中提交的 Client ID。可用該條件為不同裝置或租戶設定限流、
訪問控制和日誌動作。MQTTS 應用還可以使用 SNI Server Name 條件。
儲存規則後必須釋出應用才會生效。Client ID 由客戶端提供,不能單獨作為可信的 身份憑據;需要認證時,應同時使用 Broker 認證、TLS 客戶端證書或其他訪問控制。
運維注意事項
- MQTT 會話通常持續較長時間。需要定期觀察長連線狀態時,可以啟用 分段訪問日誌。
- MQTT 協議沒有 HTTP 響應體,因此 MQTT/MQTTS 頁面規則不提供輸出響應體動作。
- 建立使用者組時,MQTT 和 MQTTS 使用獨立的許可權模組;應只授予使用者需要管理的 應用型別和操作許可權。