MQTT のエンドツーエンド暗号化による SSL オフロードの設定

次の例は、エンドツーエンド暗号化で MQTT の SSL オフロードを行う方法を示しています。

:この例では、証明書とキーのペアの追加または更新、および仮想サーバーへのバインドに関する詳細については説明しません。詳細については、「SSL 証明書」を参照してください。

次のコマンドは、拡張ファイルをインポートし、SSL トランスポートで MQTT_SSL プロトコルを追加します。

import extension http://10.217.24.48/extensions/mqtt.lua mqtt_code
add user protocol MQTT_SSL -transport SSL -extension mqtt_code

次のコマンドは、ユーザー負荷分散仮想サーバーを追加し、それにバックエンドサービスをバインドします。負荷分散仮想サーバーとサービスの両方が、サービスタイプ USER_SSL_TCP 用に構成されています。

add service mqtt_svr1 10.217.24.48 USER_SSL_TCP 1501
add service mqtt_svr2 10.217.24.48 USER_SSL_TCP 1502
add lb vserver mqtt_lb USER_SSL_TCP –lbmethod RR
bind lb vserver mqtt_lb mqtt_svr1
bind lb vserver mqtt_lb mqtt_svr2

次のコマンドは、新しく追加されたプロトコル MQTT_SSL 用のユーザー仮想サーバーを追加します。MQTT_SSLを使用すると、Citrix ADCアプライアンスでSSLオフロードを実行することになります。これは、MQTT_SSLがSSLトランスポートで設定されているためです。また、このコマンドは、前の手順で設定した負荷分散仮想サーバーをデフォルトのロードバランサーにします。

add user vserver mqtt_vs MQTT_SSL 10.217.24.28 8765 -defaultLb mqtt_lb

エンドツーエンドの暗号化では、SSL 機能を有効にして、証明書キーをユーザーおよびデフォルトの負荷分散仮想サーバーにバインドする必要もあります。詳しくは、次のトピックを参照してください:

証明書とキーのペアの追加または更新

証明書とキーのペアを SSL 仮想サーバーにバインドする

enable ns feature SSL

add SSL certKey mqtt_svr_cert_key -cert server1.cert -key server1.key

bind ssl vserver mqtt_lb  -certkeyName mqtt_svr_cert_key

bind ssl vserver mqtt_vs  -certkeyName mqtt_svr_cert_key
MQTT のエンドツーエンド暗号化による SSL オフロードの設定