次の例は、エンドツーエンド暗号化を使用して 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はSSLトランスポートで構成されているため、MQTT_SSLを使用すると、NetScalerアプライアンスがSSLオフロードを実行することになります。また、このコマンドは、前のステップで設定した負荷分散仮想サーバーをデフォルトのロードバランサーにします。
add user vserver mqtt_vs MQTT_SSL 10.217.24.28 8765 -defaultLb mqtt_lb
エンドツーエンドの暗号化を行うには、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