ADC

レスポンダーを使用して HTTP リクエストを HTTPS にリダイレクトする方法

この記事では、負荷分散仮想サーバーのIPアドレスを使用してレスポンダー機能を構成し、クライアント要求をHTTPからHTTPSにリダイレクトする方法について説明します。

ユーザーが HTTP リクエストを送信して安全なウェブサイトにアクセスしようとするシナリオを考えてみましょう。リクエストをドロップする代わりに、安全なウェブサイトにリクエストをリダイレクトしたい場合があります。レスポンダー機能を使用すると、ユーザーがアクセスしようとするパスや URL クエリを変更せずに、リクエストを安全な Web サイトにリダイレクトできます。

NetScalerレスポンダーがリクエストをHTTPからHTTPSにリダイレクトする方法

次の図は、アプライアンスがリクエストをリダイレクトする方法の段階的なフローを示しています。

レスポンダーがリクエストをリダイレクトする

レスポンダー機能をNetScalerアプライアンスの負荷分散VIPアドレスとともに構成して、クライアント要求をHTTPからHTTPSにリダイレクトするには、次の手順を実行します。

アプライアンスのレスポンダー機能を有効にする

アプライアンスでレスポンダー機能を有効にするには、[ システム ] > [ 設定 ] > [ 拡張機能の構成 ] に移動し、[ レスポンダー] を選択します。

レスポンダーアクションの作成

レスポンダーアクションを作成するには、次の手順を実行します:

  1. [ AppExpert ] > [ レスポンダー ] > [ アクション ] に移動し、[追加] をクリックします。
  2. 「名前」フィールドに、http_to_https_actn などの適切な名前を指定します。
  3. タイプとして 「 リダイレクト」を選択します。
  4. 」フィールドに、次の式を入力します:

    "https://" + HTTP.REQ.HOSTNAME.HTTP_URL_SAFE + HTTP.REQ.URL.PATH_AND_QUERY.HTTP_URL_SAFE

  5. [作成]をクリックします。

レスポンダーポリシーの作成

レスポンダーポリシーを作成するには、次の手順を実行します:

  1. [ AppExpert ] > [ レスポンダー ] > [ ポリシー ] に移動し、[追加] をクリックします。
  2. 「名前」フィールドに、http_to_https_pol などの適切な名前を指定します。
  3. アクションリストから 、作成したアクション名を選択します。
  4. 「 未定義のアクション」リストから、「リセット」を選択します。
  5. 次のスクリーンショットに示すように、「式」フィールドに **HTTP.REQ.IS_VALID** 式を入力します 。

レスポンダーポリシーの作成

モニターの作成

ステータスが常に UP とマークされているモニターを作成するには、次の手順を実行します:

  1. [ トラフィック管理 ] > [ 負荷分散 ] > [ モニター] に移動し、[ 追加] をクリックします。
  2. 「名前」フィールドに localhost_ping などの適切な名前を指定します。
  3. 宛先 IP 」フィールドで、IP アドレスとして 127.0.0.1 を指定します。

モニターの設定

サービスを作成

サービスを作成するには、次の手順を実行します:

  1. 負荷分散 > サービスに移動し追加をクリックします
  2. 「名前」フィールドに、Always_UP_Service などの適切な名前を指定します。
  3. サーバー 」フィールドに、存在しない IP アドレスを指定します。

  4. ポートフィールドに 80 を指定します。
  5. 作成したモニターを「 使用可能なモニター 」リストから追加します。

負荷分散仮想サーバーの作成

  1. [ 負荷分散 ] > [ サービス ] に移動し、[ 追加] をクリックします。
  2. 「名前」 フィールドに適切な名前を指定します 。
  3. IP アドレスフィールドに Web サイトの IP アドレスを指定します 。
  4. プロトコル 」リストから「HTTP」を選択します。
  5. 「ポート」フィールドに「80」と入力します。
  6. [ポリシー] タブをクリックします。
  7. 作成したレスポンダーポリシーを Web サイトの HTTP 負荷分散 VIP アドレスにバインドします。
  8. Web サイトの IP アドレスとポートが 443 の安全な負荷分散仮想サーバーを作成します。

アプライアンスのコマンドラインインターフェイスから前述の手順と同様の構成を作成するには、次のコマンドを実行します:

enable ns feature responder
add responder action http_to_https_actn redirect ""https://" + http.req.hostname.HTTP_URL_SAFE + http.REQ.URL.PATH_AND_QUERY.HTTP_URL_SAFE"
add responder policy http_to_https_pol HTTP.REQ.IS_VALID http_to_https_actn RESET
add lb monitor localhost_ping PING -LRTM ENABLED -destIP 127.0.0.1
add service Always_UP_service 1.2.3.4 HTTP 80 -gslb NONE -maxClient 0 -maxReq 0 -cip ENABLED dummy -usip NO -sp OFF -cltTimeout 180 -svrTimeout 360 -CKA NO -TCPB NO -CMP YES
bind lb monitor localhost_ping Always_UP_service
add lb vserver http_site.com HTTP 10.217.96.238 80 -persistenceType COOKIEINSERT -timeout 0 -cltTimeout 180
bind lb vserver http_site.com Always_UP_service
bind lb vserver http_site.com -policyName http_to_https_pol -priority 1 -gotoPriorityExpression END
<!--NeedCopy-->

注:

  • リダイレクトが機能するには、ポート 80 の負荷分散リダイレクト仮想サーバーのステータスが UP になっている必要があります。
  • HTTPS 仮想サーバーがアクティブでない場合、Web ブラウザーが正しくリダイレクトされないことがあります。
  • このリダイレクト設定により、複数のドメインが同じ IP アドレスにバインドされている状況にも対応できます。
  • クライアントが無効なHTTP要求をリダイレクト仮想サーバに送信すると、アプライアンスはRESETメッセージ・コードを送信します。
レスポンダーを使用して HTTP リクエストを HTTPS にリダイレクトする方法