-
-
Personalice la configuración de AppExpert
-
Configurar servicios y grupos de servicios para una unidad de aplicación
-
Configuración de dispositivos de punto final públicos para una aplicación
-
Especificar el orden de evaluación de las unidades de aplicación
-
Configurar grupos de persistencia para unidades de aplicación
-
Ver aplicaciones de AppExpert y configurar entidades mediante el visualizador de aplicaciones
-
Configurar la autenticación, la autorización y la auditoría de aplicaciones
-
-
Configurar una expresión de directiva avanzada: Cómo empezar
-
Expresiones de directiva avanzadas: trabajar con fechas, horas y números
-
Expresiones de directiva avanzadas: Análisis de datos HTTP, TCP y UDP
-
Expresiones para identificar el protocolo en un paquete IP entrante
-
Expresiones para códigos de estado HTTP y datos numéricos de carga HTTP distintos de las fechas
-
Operaciones de codificación HTTP, HTML y XML y caracteres «seguros»
-
Expresiones para evaluar un mensaje DNS e identificar su protocolo de portadora
-
Expresiones de directiva avanzadas: análisis de certificados SSL
-
Expresiones de directivas avanzadas: direcciones IP y MAC, rendimiento, ID de VLAN
-
Expresiones de directivas avanzadas: funciones de análisis de transmisiones
-
Ejemplos de tutoriales de directivas avanzadas para la reescritura
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!
Soporte de MQTT para reescritura
La función de reescritura admite el protocolo MQTT. Puede configurar directivas de reescritura para que tomen medidas en función de los parámetros de las solicitudes del cliente MQTT y las respuestas del servidor.
Acción de reescritura para MQTT
La acción de reescritura de MQTT indica los cambios realizados en la solicitud o respuesta de MQTT antes de enviarla a un servidor o cliente.
Expresión:
add rewrite action <name> <rewrite_type> <target> <rewrite_action>
Tipo de reescritura para MQTT
Según el tipo de regla de expresión de reescritura que se utilice, se admiten los siguientes tipos de reescritura de MQTT:
replace_mqtt
insert_before_mqtt
insert_after_mqtt
delete_mqtt
insert_mqtt
Reescribir el objetivo para MQTT
En los siguientes ejemplos de ejemplo, la función de reescritura de MQTT utiliza expresiones de directiva para indicar la parte de la solicitud que se va a modificar (destino) y la modificación que se va a realizar (expresión de cadena):
-
Reescriba un identificador de cliente en el paquete de conexión mediante el tipo de acción
replace_mqtt
.add rewrite action rwact1 replace_mqtt MQTT.CONNECT.CLIENTID "\"xyz\""
-
Reescribir un tema en la solicitud de publicación mediante el tipo de acción
replace_mqtt
.add rewrite action rwact1 replace_mqtt MQTT.PUBLISH.TOPIC "\"testing/test123\""
-
Reescribe para insertar una propiedad con el tipo de acción insert_mqtt.
add rewrite action rwact1 insert_mqtt MQTT.NEW_PROPERTY("prop1", "test")
-
Elimina un tema con el tipo de acción delete_mqtt.
add rewrite action rwact2 delete_mqtt MQTT.SUBSCRIBE.TOPIC_FILTERS.TOPIC(1)
Acción de reescritura para MQTT
Las siguientes son las acciones de reescritura predefinidas para 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)
Ejemplo de la acción de reescritura predefinida:
add rewrite action rwact1 replace_mqtt MQTT.CONNECT.KEEPALIVE MQTT.NEW_KEEPALIVE(90)
Ejemplo de la acción de reescritura definida por el usuario:
add rewrite action rwact1 replace_mqtt MQTT.CONNECT.USERNAME "\"user1\""
Directiva de reescritura para MQTT
Una directiva de reescritura para MQTT consiste en una regla y una acción. La regla determina el tráfico de MQTT en el que se aplica la reescritura y la acción determina la acción que debe realizar el dispositivo NetScaler.
Expresión:
add rewrite policy <name> <rewrite_rule> <rewrite_action>
Ejemplo:
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
Puntos de enlace para MQTT
Puede vincular una directiva de reescritura de forma global o a un servidor virtual de equilibrio de carga específico o a un servidor virtual de conmutación de contenido. Los siguientes son los puntos de enlace globales:
MQTT_REQ_DEFAULT
MQTT_REQ_OVERRIDE
MQTT_RES_DEFAULT
MQTT_RES_OVERRIDE
Expresión:
-
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
Ejemplo:
-
bind rewrite global pol1 10 -type MQTT_REQ_DEFAULT
-
add/bind lb vserver v1 -policyName pol1 -type reqUEST -priority 10
Configurar una directiva de reescritura para MQTT
Para configurar una directiva de reescritura, siga los pasos y escriba los comandos en el símbolo del sistema:
-
Habilite la función de reescritura en el dispositivo NetScaler.
enable ns feature REWRITE
-
Agregue una acción de reescritura.
add rewrite action rwact1 replace_mqtt MQTT.CONNECT.KEEPALIVE MQTT.NEW_KEEPALIVE(10)
-
Agregue una directiva de reescritura.
add rewrite policy pol1 MQTT.COMMAND.EQ(CONNECT) rwact1
-
Configure un servidor virtual de equilibrio de carga MQTT.
add lb vserver v1 MQTT 1.1.1.1 1883
-
Enlazar la directiva de reescritura de forma global o a un servidor virtual de equilibrio de carga específico.
bind rewrite global pol1 10 -type MQTT_REQ_DEFAULT
add/bind lb vserver v1 -policyName pol1 -type REQUEST -priority 10
Caso de uso 1: Reemplace el nombre de usuario en el mensaje MQTT CONNECT por el nombre del certificado
El administrador puede configurar una directiva de reescritura de MQTT para reemplazar el nombre de usuario por el nombre del certificado del cliente.
Vamos a considerar un ejemplo. La solicitud del cliente tiene un mensaje MQTT CONNECT
que contiene el nombre de usuario como “admin”. Este nombre de usuario debe reemplazarse por el número de serie (16 dígitos) que se extrae del certificado de cliente (nombre del certificado).
En la siguiente ilustración se muestra el flujo de trabajo:
-
Se envía una solicitud de Protocolo de control de transporte (TCP) al equilibrador de carga.
-
En el equilibrador de carga, el nombre de usuario se reemplaza por el nombre del certificado.
-
La solicitud se reenvía al intermediario de MQTT.
-
Este nuevo nombre de usuario se usa para la autorización a través de la carga útil de webhook.
Ejemplo de configuración:
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
Caso de uso 2: Proporcionar una suscripción a un nuevo TEMA
El administrador puede proporcionar una suscripción a un TEMA nuevo. Vamos a considerar un ejemplo. La solicitud de un cliente tiene una suscripción al TEMA 1. El administrador puede configurar una directiva de reescritura para proporcionar suscripción a un nuevo TEMA 2. La suscripción se puede insertar antes o después.
Ejemplo de configuración:
-
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
Compartir
Compartir
En este artículo
- Acción de reescritura para MQTT
- Directiva de reescritura para MQTT
- Puntos de enlace para MQTT
- Configurar una directiva de reescritura para MQTT
- Caso de uso 1: Reemplace el nombre de usuario en el mensaje MQTT CONNECT por el nombre del certificado
- Caso de uso 2: Proporcionar una suscripción a un nuevo TEMA
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.