ADC
Merci pour vos commentaires

Ce article a été traduit automatiquement. (Clause de non responsabilité)

Prise en charge de MQTT pour répondeur

La fonction Responder prend en charge le protocole MQTT. Vous pouvez configurer les politiques du répondeur pour effectuer une action en fonction des paramètres du message MQTT entrant.

L’action répond par l’un des éléments suivants à une nouvelle connexion :

  • ABANDONNER
  • RÉINITIALISER
  • NOOP
  • Une action du répondeur pour initier une nouvelle réponse MQTT CONNACK.

Configuration des politiques de répondeur pour MQTT

Après avoir activé la fonctionnalité de répondeur, vous devez configurer une ou plusieurs actions pour gérer les requêtes MQTT. Configurez ensuite une politique de réponse. Vous pouvez lier les politiques du répondeur de manière globale ou à un serveur virtuel d’équilibrage de charge ou à un serveur virtuel de commutation de contenu spécifique.

Les points de liaison suivants sont disponibles pour lier les politiques du répondeur de manière globale :

  • MQTT_REQ_DEFAULT
  • MQTT_REQ_OVERRIDE
  • MQTT_JUMBO_REQ_DEFAULT
  • MQTT_JUMBO_REQ_OVERRIDE

Les points de liaison suivants sont disponibles pour lier les politiques du répondeur à un serveur virtuel de commutation de contenu ou d’équilibrage de charge :

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

Pour configurer le répondeur afin qu’il réponde à une demande MQTT à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes :

Configurez une action de répondeur.

add responder action <actName> <actType>
  • Pour actname, remplacez votre nouvelle action par un nom. Le nom peut comporter entre 1 et 127 caractères et peut contenir des lettres, des chiffres, des traits d’union (-) et des traits de soulignement (_).
  • Remplacez actTypele type d’action du répondeur par respondwith.

Exemple :

add responder action mqtt_connack_unsup_ver respondwith MQTT.NEW_CONNACK(132)

Configurez une politique de réponse. L’appliance NetScaler répond aux demandes MQTT sélectionnées par cette politique de réponse.

add responder policy <polName> <rule> <actname>
  • Par polname, remplacez votre nouvelle politique par un nom.
  • Remplacez par le nom de l’action que vous avez créée. actname

Exemple :

add responder policy reject_lower_version "MQTT.HEADER.COMMAND.EQ(CONNECT) && MQTT.VERSION.LT(3)" mqtt_connack_unsup_ver

Liez la politique du répondeur à un serveur virtuel d’équilibrage de charge ou à un serveur virtuel de commutation de contenu spécifique. La politique s’applique uniquement aux requêtes MQTT dont l’adresse IP de destination est le VIP de ce serveur virtuel.

bind lb vserver <name> -policyName <policy_name> -priority <priority> bind cs vserver <name> -policyName <policy_name> -priority <priority>
  • Remplacez par le nom de la politique que vous avez créée. policy_name
  • Pour priority, spécifiez la priorité de la politique.

Exemple :

bind lb vserver lb1 -policyName reject_lower_version -priority 50 bind cs vserver mqtt_frontend_cs -policyName reject_lower_version -priority 5

Cas d’utilisation 1 : Filtrer les clients en fonction du nom d’utilisateur ou de l’ID client

L’administrateur peut configurer une politique de répondeur MQTT pour rejeter la connexion en fonction du nom d’utilisateur ou de l’ID client figurant dans le message MQTT CONNECT.

Exemple de configuration pour filtrer les clients en fonction de l’ID client

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.clientid.equals_any("filter_clients")" mqtt_connack_invalid_client bind cs vserver mqtt_frontend_cs -policyName reject_clients -priority 5

Cas d’utilisation 2 : Limiter la longueur maximale des messages MQTT pour gérer les paquets Jumbo

L’administrateur peut configurer une politique de réponse MQTT pour interrompre la connexion client si la longueur du message dépasse un certain seuil, ou prendre les mesures nécessaires en fonction des besoins.

Pour gérer les paquets Jumbo, les politiques du répondeur présentant 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 politiques liées aux points de liaison Jumbo sont évaluées uniquement pour les paquets Jumbo.

Exemple de configuration pour limiter la longueur maximale des messages 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

Dans cet exemple, le dropmqttjumbomessage paramètre est défini sur NON. Par conséquent, l’appliance ADC traite les messages dont la longueur est supérieure à 64 000 octets et inférieure à 1 000 000 octets. Les messages dont la longueur est supérieure à 1 000 000 octets sont réinitialisés.

La version officielle de ce document est en anglais. Certains contenus de la documentation Cloud Software Group ont été traduits de façon automatique à des fins pratiques uniquement. Cloud Software Group n'exerce aucun contrôle sur le contenu traduit de façon automatique, qui peut contenir des erreurs, des imprécisions ou un langage inapproprié. Aucune garantie, explicite ou implicite, n'est fournie quant à l'exactitude, la fiabilité, la pertinence ou la justesse de toute traduction effectuée depuis l'anglais d'origine vers une autre langue, ou quant à la conformité de votre produit ou service Cloud Software Group à tout contenu traduit de façon automatique, et toute garantie fournie en vertu du contrat de licence de l'utilisateur final ou des conditions d'utilisation des services applicables, ou de tout autre accord avec Cloud Software Group, quant à la conformité du produit ou service à toute documentation ne s'applique pas dans la mesure où cette documentation a été traduite de façon automatique. Cloud Software Group ne pourra être tenu responsable de tout dommage ou problème dû à l'utilisation de contenu traduit de façon automatique.