MQTT-Unterstützung für响应器
Die Responder-Funktion unterstützt das MQTT-Protokoll。您können响应器- richtlinen so konfigurieren, dass Sie eine Aktion baserend auf den参数in der einghendenen MQTT-Nachricht ausführen。
这是我们的行动,我们的行动,我们的行动
- 下降
- 重置
- 无操作
- Eine Responder-Aktion, um Eine neue MQTT CONNACK-Antwort einzuleiten。
Konfigurieren von Responder-Richtlinien für MQTT
那是你的回应,müssen你的回应für那是你的回答。我是响应者。Sie können die Responder-Richtlinien global oder an einen bestimmten virtuellen Lastausgleichsserver oder virtuellen内容切换-服务器绑定。
Die folgenden Bindepunkte stehen zur Verfügung,嗯Die Responder-Richtlinien global zu binden:
- MQTT_REQ_DEFAULT
- MQTT_REQ_OVERRIDE
- MQTT_JUMBO_REQ_DEFAULT
- MQTT_JUMBO_REQ_OVERRIDE
Die folgenden Bindepunkte sind verfügbar, um Die Responder-Richtlinien an einen virtuellen内容切换- oder Lastenausgleichsserver zu binden:
- 请求
- MQTT_JUMBO_REQ (diesel Bindepunkt wd nur für Jumbo-Pakete verwendet)
所以konfigurieren Sie den Responder So, dass er mit CLI auf eine MQTT-Anfrage antwortet
Geben Sie an der Eingabeaufforderung die folgenden Befehle ein:
Konfigurieren Sie eine responder - action。
add responder action
- Ersetzen您
actname
durch einen Namen für Ihre neue Aktion。Der Name kann 1-127 zechenlang sein und kann Buchstaben, Zahlen, Bindestriche (-) and Unterstriche (_) enthten。 - Ersetzen Sie für
actType
einen Responder-Aktionstyp respondwith。
Beispiel:
添加mqtt_connack_unsup_ver response with MQTT.NEW_CONNACK(132)
Konfigurieren Sie eine responderrichtline。Die Citrix ADC Appliance reagiert auf Die MQTT-Anforderungen, Die in dieser Responder-Richtlinie ausgewählt werden。
add responder policy
- Ersetzen您
polname
durch einen Namen für Ihre neue Richtlinie。 - Ersetzen Sie für
actname
那是行动,那是过去的事。
Beispiel:
添加响应器策略reject_lower_version "MQTT.HEADER.COMMAND.EQ(CONNECT) && MQTT.VERSION.LT(3)" mqtt_connack_unsup_ver
Binden Sie die Responder-Richtlinie an einen bestimmten virtuellen Lastausgleichsserver oder virtuellen Content Switching-Server。Die Richtlinie gilt nur für Die MQTT-Anfragen, deren ziel - ip - address der VIP dieses virtuellen Servers ist。
bind lb vserver -policyName -priority bind cs vserver -policyName -priority
- Ersetzen Sie für
policy_name
那是我的坟墓,那是我的前世。 - 葛本希für
优先级
die Priorität der Richtlinie an。
Beispiel:
bind lb vserver lb1 -policyName reject_lower_version -priority 5
Anwendungsfall1: filter Sie Clients baserend auf dem Benutzernamen order der Client-ID
Der Administrator kann eine MQTT- responder richtlinie konfigurieren, um die verindung basierend auf dem Benutzernamen oder Client-ID in Der MQTT CONNECT-Nachricht abzulehnen。
Beispielkonfiguration zum Filtern von Clients basierend auf der Client-ID
add policy patset filter_clients bind policy patset filter_clients client1 add responder action mqtt_connack_invalid_client respondwith MQTT.NEW_CONNACK(2) add responder policy reject_clients "MQTT.HEADER.COMMAND.EQ(CONNECT) && mqtt. CONNECT .client .equals_any("filter_clients")" mqtt_connack_invalid_client bind cs vserver mqtt_frontend_cs -policyName reject_clients -priority 5
Verwenden Sie case2: Begrenzen Sie die maximale Nachrichtenlänge von MQTT-Nachrichten, um jumpo - pakete zu verarbeiten
Der Administrator kann eine mqtt - responder richtlinie konfigurieren, um die Clientverbindung zu löschen, wenn die Länge Der Nachricht einen bestimmten Schwellenwert überschreitet, oder die erforderlichen Maßnahmen basierend auf Der Anforderung ergreifen。
嗯,巨型- pakete zu behandeln,信die responder richtlinen mit einem der folgenden Regelmuster an den Jumbo-Bind-Punkt gebunden:
- MQTT。MESSAGE_LENGTH
- MQTT。COMMAND
- MQTT。FROM_CLIENT
- MQTT。FROM_SERVER
Richtlinien, die an Jumbo-Bindepunkte gebunden sind, werden nur für Jumbo-Pakete ausgewertet。
Beispielkonfiguration zur Begrenzung der maximalen Nachrichtenlänge von MQTT-Nachrichten
set lb parameter -dropmqttjumbomessage no add responder policy drop_large_message MQTT.MESSAGE_LENGTH.GT(100000) reset bind cs vserver mqtt_frontend_cs -policyName drop_large_message -priority 10
在diesem Beispiel ist derdropmqttjumbomessage
参数auf NO festgelegt。Daher verarbeitet die ADC-Appliance die Nachrichten mit einer Länge von mehr als 64.000字节和weniger als 1.00.000字节。Die Nachrichten mit einer Länge von mehr als 1.00.000 Bytes werden zurückgesetzt。
在diesem Artikel
- Konfigurieren von Responder-Richtlinien für MQTT
- 所以konfigurieren Sie den Responder So, dass er mit CLI auf eine MQTT-Anfrage antwortet
- Anwendungsfall1: filter Sie Clients baserend auf dem Benutzernamen order der Client-ID
- Verwenden Sie case2: Begrenzen Sie die maximale Nachrichtenlänge von MQTT-Nachrichten, um jumpo - pakete zu verarbeiten