MQTT の SSL オフロードの設定

プロトコルの SSL インスタンスを追加することで、ユーザープロトコルの SSL オフロードを実装できます。以下の例は、ユーザープロトコルに対して SSL オフロードを行う方法を示しています。この設定では、バックエンドサービスへのトラフィックは暗号化されません。

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

次のコマンドは、mqtt.lua をトランスポート値「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

次のコマンドは、ユーザー負荷分散仮想サーバーを追加し、それにバックエンドサービスをバインドします。

add service mqtt_svr1 10.217.24.48 USER_TCP 1501
add service mqtt_svr2 10.217.24.48 USER_TCP 1502
add lb vserver mqtt_lb USER_TCP –lbMethod ROUNDROBIN
bind lb vserver mqtt_lb mqtt_svr1
bind lb vserver mqtt_lb mqtt_svr2

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

add user vserver mqtt_vs MQTT_SSL 10.217.24.28 8765 -defaultLb mqtt_lb

SSL オフロードでは、SSL 機能を有効にして、認証キーをユーザー仮想サーバーにバインドする必要もあります。詳しくは、次のトピックを参照してください:

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

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

例:

enable ns feature SSL

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

bind ssl vserver mqtt_vs  -certkeyName mqtt_svr_cert_key
MQTT の SSL オフロードの設定