Citrix ADC

Prise en charge de MQTT pour le répondeur

La fonctionnalité Répondeur prend en charge le protocol MQTT。Vous pouvez配置les stratégies de répondeur pour qu 'elles prennent une action basée sur les paramètres du message MQTT入口。

L 'action répond avec L 'un des éléments suivants à une nouvelle connexion:

  • 下降
  • 重置
  • 无操作
  • 新枪的干预行动réponse MQTT CONNACK。

配置des stratégies de répondeur倒MQTT

Après avoir activé la fonctionnalité de répondeur, vous devez configurer une ou plusieurs actions pour gérer les demandes MQTT。Ensuite, configurez une stratégie de répondeur。Vous pouvez lier les stratégies de répondeur全球,ou à un servur virtuel d ' équilibrage de charge spécifique ou à un servur virtuel de commutation de contents spécifique。

Les points de liaison suivants sont disponibles pour lier Les stratégies de répondeur全球:

  • MQTT_REQ_DEFAULT
  • MQTT_REQ_OVERRIDE
  • MQTT_JUMBO_REQ_DEFAULT
  • MQTT_JUMBO_REQ_OVERRIDE

Les points de contact suivants sont disponibles pour lier Les stratégies de répondeur à un server virtuel transfer de contenu ou d ' équilibrage de charge:

  • 请求
  • MQTT_JUMBO_REQ (ce point de liaison est utilisé uniquement pour les paquets Jumbo)

倒配置乐répondeur倒répondre à une requête MQTT à l 'aide de l 'interface de ligne de command

À l 'invite de commands, tapez les commandes suivantes:

配置une行动répondeur。

add responder action   
  • actname, remplacez UN nom pour votre new action。Le nom peut converir de 1 à 127 caractères et peut converir des letters, des chiffres, des tirets (-) et des符号de trait de soulignement(_)。
  • actType,替换者UN type d 'action de répondeur,响应。

为例:

添加mqtt_connack_unsup_ver response with MQTT.NEW_CONNACK(132) 

配置une stratégie de répondeur。L 'appliance Citrix ADC répond aux demands MQTT sélectionnées par cette stratégie de répondeur。

add responder policy    
  • polname, remplacez UN nom pour votre nouvelle stratégie。
  • actname, remplacez le nom de l 'action que vous avez créée。

为例:

添加响应器策略reject_lower_version "MQTT.HEADER.COMMAND.EQ(CONNECT) && MQTT.VERSION.LT(3)" mqtt_connack_unsup_ver 

Liez la stratégie de répondeur à un server virtuel d ' équilibrage de charge spécifique ou à un server virtuel de commutation de contenu spécifique。La stratégie s 'applique uniquement aux requêtes MQTT don ' adaddress IP de destination est La VIP de ce server virtuel。

bind lb vserver  -policyName  -priority  bind cs vserver  -policyName  -priority  
  • policy_name, remplacez le nom de la stratégie que vous avez créée。
  • 优先级, spécifiez la priorité de la stratégie。

为例:

bind lb vserver lb1 -policyName reject_lower_version -priority 5 

Cas d ' utiliseur 1: filter les clients en function du nom d 'utilisateur ou de l 'ID client

L 'administrateur peut configururer une stratégie de répondeur MQTT pour rejeter la connexion en function du nom d 'utilisateur ou de L 'ID client dans le message MQTT CONNECT。

示例配置倒过滤器的客户端功能的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 

Cas d 'utilisation 2: limit la longueur maximale des messages MQTT pour gérer les paquets jumbo

L 'administrateur peut configururer une stratégie de répondeur MQTT pour supprimer la connexion客户端si la longueur du message dépasse un certain seuil, ou prenre les mesures nécessaires en function de L 'exigence。

倒gérer les paquets jumbo, les stratégies de répondeur avec l’un des modèles de règles suivants sont liées au point de liaison jumbo:

  • MQTT。MESSAGE_LENGTH
  • MQTT。COMMAND
  • MQTT。FROM_CLIENT
  • MQTT。FROM_SERVER

Les stratégies liées aux points de liaison jumbo sont évaluées uniquement pour Les paquets jumbo。

配置限制器最长时间消息MQTT示例

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 

丹斯cet的例子,ledropmqttjumbomessageparamètre est défini sur NO。Par conséquent, l 'appliance ADC traite les message don ' la longueur est supérieure à 64 000八位et inférieure à 10万八位。Les messages d 'une longueur supérieure à 10万个八字节sont réinitialisés。