-
-
Personnaliser la configuration d'AppExpert
-
Configuration des services et des groupes de services pour une unité d'application
-
Configurer des points de terminaison publics pour une application
-
Configurer des groupes de persistance pour les unités d'application
-
Afficher les applications AppExpert et configurer les entités à l'aide du visualiseur d'applications
-
Configuration de l'authentification, de l'autorisation et de l'audit des applications
-
-
Configuration de l'expression de stratégie avancée : mise en route
-
Expressions de stratégie avancées : utilisation des dates, des heures et des nombres
-
Expressions de stratégie avancées : analyse des données HTTP, TCP et UDP
-
Expressions de stratégie avancées : analyse des certificats SSL
-
Expressions de stratégie avancées : adresses IP et MAC, débit, ID VLAN
-
Expressions de stratégie avancées : fonctions d'analyse de flux
-
-
Comportement de l'en-tête Content-length dans une stratégie de réécriture
-
Exemples d'actions et de stratégies de réécriture
-
Exemple 1 : Supprimer les anciens en-têtes X-Forwarded-For et Client-IP
-
Exemple 3 : Balisage des connexions sécurisées et non sécurisées
-
Exemple 6 : migration des règles du module de réécriture Apache
-
Exemple 8 : Redirection des requêtes vers le serveur interrogé
-
Exemple 11 : chiffrement RSA basé sur une stratégie sans remplissage
-
-
This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
Prise en charge MQTT pour la réécriture
La fonction de réécriture prend en charge le protocole MQTT. Vous pouvez configurer des stratégies de réécriture pour effectuer des actions en fonction des paramètres des demandes du client MQTT et des réponses du serveur.
Action de réécriture pour MQTT
L’action de réécriture pour MQTT indique les modifications apportées à la demande ou à la réponse MQTT avant de l’envoyer à un serveur ou un client.
Expression :
add rewrite action <name> <rewrite_type> <target> <rewrite_action>
Type de réécriture pour MQTT
Selon le type de règle d’expression de réécriture utilisé, les types de réécriture MQTT suivants sont pris en charge :
replace_mqtt
insert_before_mqtt
insert_after_mqtt
delete_mqtt
insert_mqtt
Cible de réécriture pour MQTT
Dans les exemples suivants, la fonctionnalité de réécriture MQTT utilise des expressions de stratégie pour indiquer la partie de la demande à modifier (cible) et la modification à effectuer (expression chaîne) :
-
Réécrivez un ID client dans le paquet de connexion à l’aide du type
replace_mqtt
d’action.add rewrite action rwact1 replace_mqtt MQTT.CONNECT.CLIENTID "\"xyz\""
-
Réécrivez une rubrique dans la demande de publication à l’aide du type
replace_mqtt
d’action.add rewrite action rwact1 replace_mqtt MQTT.PUBLISH.TOPIC "\"testing/test123\""
-
Réécrivez pour insérer une propriété à l’aide du type d’action insert_mqtt.
add rewrite action rwact1 insert_mqtt MQTT.NEW_PROPERTY("prop1", "test")
-
Supprimez une rubrique à l’aide du type d’action delete_mqtt.
add rewrite action rwact2 delete_mqtt MQTT.SUBSCRIBE.TOPIC_FILTERS.TOPIC(1)
Action de réécriture pour MQTT
Voici les actions de réécriture prédéfinies pour MQTT :
MQTT.NEW_KEEPALIVE(interval)
MQTT.NEW_PACKET_IDENTIFIER(packetID)
MQTT.NEW_REASON_CODE(retCode)
MQTT.NEW_PUBLISH(topic_name, payload)
MQTT.NEW_CONNECT_USERNAME(username)
MQTT.NEW_CONNECT_WILL_MESSAGE(will_topic, will_payload, will_Qos, will_retain)
MQTT.NEW_TOPIC(topic, qos)
MQTT.NEW_TOPIC(topic)
MQTT.NEW_PROPERTY(key, value)
Exemple pour l’action de réécriture prédéfinie :
add rewrite action rwact1 replace_mqtt MQTT.CONNECT.KEEPALIVE MQTT.NEW_KEEPALIVE(90)
Exemple d’action de réécriture définie par l’utilisateur :
add rewrite action rwact1 replace_mqtt MQTT.CONNECT.USERNAME "\"user1\""
Stratégie de réécriture pour MQTT
Une stratégie de réécriture pour MQTT se compose d’une règle et d’une action. La règle détermine le trafic MQTT auquel la réécriture est appliquée et l’action détermine l’action à effectuer par l’appliance NetScaler.
Expression :
add rewrite policy <name> <rewrite_rule> <rewrite_action>
Exemple :
add rewrite action insert_mqtt_username insert_mqtt MQTT.NEW_CONNECT_USERNAME("user1")
add rewrite policy rewrite_mqtt_username "MQTT.COMMAND.EQ(CONNECT) && MQTT.CONNECT.USERNAME.LENGTH.EQUALS(0) insert_mqtt_username
Points de liaison pour MQTT
Vous pouvez lier une stratégie de réécriture globalement ou à un serveur virtuel d’équilibrage de charge ou à un serveur virtuel de commutation de contenu spécifique. Les points de liaison globaux sont les suivants :
MQTT_REQ_DEFAULT
MQTT_REQ_OVERRIDE
MQTT_RES_DEFAULT
MQTT_RES_OVERRIDE
Expression :
-
bind rewrite global <policyName> <priority> [-type MQTT_REQ_OVERRIDE | MQTT_REQ_DEFAULT | MQTT_RES_OVERRIDE | MQTT_RES_DEFAULT]
-
bind lb|cs vserver <virtualServerName> -policyName <policyName> -priority <positiveInteger> -type REQUEST|RESPONSE
Exemple :
-
bind rewrite global pol1 10 -type MQTT_REQ_DEFAULT
-
add/bind lb vserver v1 -policyName pol1 -type reqUEST -priority 10
Configurer une stratégie de réécriture pour MQTT
Pour configurer une stratégie de réécriture, suivez les étapes et tapez les commandes à l’invite de commandes :
-
Activez la fonctionnalité de réécriture sur l’appliance NetScaler.
enable ns feature REWRITE
-
Ajoutez une action de réécriture.
add rewrite action rwact1 replace_mqtt MQTT.CONNECT.KEEPALIVE MQTT.NEW_KEEPALIVE(10)
-
Ajoutez une stratégie de réécriture.
add rewrite policy pol1 MQTT.COMMAND.EQ(CONNECT) rwact1
-
Configurez un serveur virtuel d’équilibrage de charge MQTT.
add lb vserver v1 MQTT 1.1.1.1 1883
-
Liez la stratégie de réécriture globalement ou à un serveur virtuel d’équilibrage de charge spécifique.
bind rewrite global pol1 10 -type MQTT_REQ_DEFAULT
add/bind lb vserver v1 -policyName pol1 -type REQUEST -priority 10
Cas d’utilisation 1 : remplacez le nom d’utilisateur dans le message MQTT CONNECT par le nom du certificat
L’administrateur peut configurer une stratégie de réécriture MQTT pour remplacer le nom d’utilisateur par le nom du certificat du client.
Prenons un exemple. La demande du client contient un MQTT CONNECT
message contenant le nom d’utilisateur « admin ». Ce nom d’utilisateur doit être remplacé par le numéro de série (16 chiffres) extrait du certificat client (nom du certificat).
La figure suivante montre le flux de travail :
-
Une demande TCP (Transport Control Protocol) est envoyée à l’équilibreur de charge.
-
Dans l’équilibreur de charge, le nom d’utilisateur est remplacé par le nom du certificat.
-
La demande est transmise au courtier MQTT.
-
Ce nouveau nom d’utilisateur est utilisé pour l’autorisation via la charge utile du webhook.
Exemple de configuration :
add rewrite action mqtt_rw_unameact1 replace_mqtt MQTT.CONNECT.USERNAME CLIENT.SSL.CLIENT_CERT.SERIALNUMBER
add rewrite policy mqtt_rw_uname_pol1 "MQTT.COMMAND.EQ(CONNECT)" mqtt_rw_unameact1
bind cs vserver mqtt_frontend_cs -policyName mqtt_rw_uname_pol1 -priority 10 -gotoPriorityExpression END -type REQUEST
Cas d’utilisation 2 : Fournir un abonnement à un nouveau TOPIC
L’administrateur peut fournir un abonnement à un nouveau TOPIC. Prenons un exemple. Une demande client est associée à un abonnement au TOPIC 1. L’administrateur peut configurer une stratégie de réécriture pour fournir un abonnement à un nouveau TOPIC 2. L’abonnement peut être inséré avant ou après.
Exemple de configuration :
-
add rewrite action act2 insert_before_mqtt MQTT.TOPIC_FILTERS.TOPIC(1) MQTT.NEW_TOPIC(topic2, 2)
-
add rewrite policy policy2 “MQTT.COMMAND.EQ(SUBSCRIBE) && MQTT.SUBSCRIBE. TOPIC_FILTERS.TOPIC.CONTAINS(\"test\")" act2
Partager
Partager
Dans cet article
- Action de réécriture pour MQTT
- Stratégie de réécriture pour MQTT
- Points de liaison pour MQTT
- Configurer une stratégie de réécriture pour MQTT
- Cas d’utilisation 1 : remplacez le nom d’utilisateur dans le message MQTT CONNECT par le nom du certificat
- Cas d’utilisation 2 : Fournir un abonnement à un nouveau TOPIC
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.