ADC
ご意見をお寄せいただきありがとうございました

この記事は機械翻訳されています.免責事項

レスポンダーのMQTTサポート

レスポンダー機能はMQTTプロトコルをサポートします。着信MQTTメッセージのパラメーターに基づいてアクションを実行するようにレスポンダーポリシーを構成できます。

アクションは、新しい接続に対して次のいずれかで応答します。

  • DROP
  • RESET
  • NOOP
  • 新しいMQTT CONNACK応答を開始するためのレスポンダーアクション。

MQTTのレスポンダーポリシーの構成

レスポンダー機能を有効にした後、MQTTリクエストを処理するための1つ以上のアクションを構成する必要があります。次に、レスポンダーポリシーを構成します。レスポンダーポリシーをグローバルにバインドすることも、特定の負荷分散仮想サーバーまたはコンテンツスイッチング仮想サーバーにバインドすることもできます。

レスポンダーポリシーをグローバルにバインドするには、次のバインドポイントを使用できます。

  • MQTT_REQ_DEFAULT
  • MQTT_REQ_OVERRIDE
  • MQTT_JUMBO_REQ_DEFAULT
  • MQTT_JUMBO_REQ_OVERRIDE

次のバインドポイントを使用して、レスポンダーポリシーをコンテンツスイッチングまたは負荷分散仮想サーバーにバインドできます。

  • REQUEST
  • MQTT_JUMBO_REQ (このバインドポイントはジャンボパケットにのみ使用されます)

CLIを使用してMQTTリクエストに応答するようにレスポンダーを構成するには

コマンドプロンプトで、次のコマンドを入力します。

レスポンダーのアクションを構成します。

add responder action <actName> <actType>
  • actnameには、新しいアクションの名前を置き換えます。名前の長さは1〜127文字で、文字、数字、ハイフン(-)、およびアンダースコアを含めることができます。 (_) シンボル。
  • actTypeの代わりに、レスポンダーアクションタイプ、respondwithを使用します。

例:

add responder action mqtt_connack_unsup_ver respondwith MQTT.NEW_CONNACK(132)

レスポンダーポリシーを構成します。Citrix ADCアプライアンスは、このレスポンダーポリシーによって選択されたMQTTリクエストに応答します。

add responder policy <polName> <rule> <actname>
  • polnameでは、新しいポリシーの名前に置き換えます。
  • actnameは、作成したアクションの名前に置き換えてください。

例:

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

レスポンダーポリシーを特定の負荷分散仮想サーバーまたはコンテンツスイッチング仮想サーバーにバインドします。ポリシーは、宛先IPアドレスがその仮想サーバーのVIPであるMQTTリクエストにのみ適用されます。

bind lb vserver <name> -policyName <policy_name> -priority <priority> bind cs vserver <name> -policyName <policy_name> -priority <priority>
  • policy_nameは、作成したポリシーの名前に置き換えてください。
  • priorityに、ポリシーのプライオリティを指定します。

例:

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

使用例1:ユーザー名またはクライアントIDに基づいてクライアントをフィルタリングする

管理者は、MQTT CONNECTメッセージのユーザー名またはクライアントIDに基づいて接続を拒否するようにMQTTレスポンダーポリシーを構成できます。

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

使用例2:ジャンボパケットを処理するためにMQTTメッセージの最大メッセージ長を制限する

管理者は、メッセージの長さが特定のしきい値を超えた場合にクライアント接続をドロップするようにMQTTレスポンダーポリシーを構成するか、要件に基づいて必要なアクションを実行できます。

ジャンボパケットを処理するために、次のルールパターンのいずれかを持つレスポンダーポリシーがジャンボバインドポイントにバインドされます。

  • MQTT.MESSAGE_LENGTH
  • MQTT.COMMAND
  • MQTT.FROM_CLIENT
  • MQTT.FROM_SERVER

ジャンボバインドポイントにバインドされたポリシーは、ジャンボパケットに対してのみ評価されます。

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

この例では、 dropmqttjumbomessage パラメーターはNOに設定されています。したがって、ADCアプライアンスは、64,000バイトより長く1,00,000バイト未満の長さのメッセージを処理します。長さが1,00,000バイトを超えるメッセージはリセットされます。

このコンテンツの正式なバージョンは英語で提供されています。Cloud Software Groupドキュメントのコンテンツの一部は、お客様の利便性のみを目的として機械翻訳されています。Cloud Software Groupは機械翻訳されたコンテンツを管理していないため、誤り、不正確な情報、不適切な用語が含まれる場合があります。英語の原文から他言語への翻訳について、精度、信頼性、適合性、正確性、またはお使いのCloud Software Group製品またはサービスと機械翻訳されたコンテンツとの整合性に関する保証、該当するライセンス契約書またはサービス利用規約、あるいはCloud Software Groupとのその他すべての契約に基づき提供される保証、および製品またはサービスのドキュメントとの一致に関する保証は、明示的か黙示的かを問わず、かかるドキュメントの機械翻訳された範囲には適用されないものとします。機械翻訳されたコンテンツの使用に起因する損害または問題について、Cloud Software Groupは責任を負わないものとします。