リバースプロキシ、IP スプレイヤ、ロードバランサの使用
このトピックの図は、リバースプロキシが DMZ 内に配置され、モバイルデバイスクライアントのための認証サービスを提供するネットワークトポロジを示しています。
最初の図は、このトポロジ内のスタンドアロンの IBM Traveler サーバーを表しています。

2 番目の図は、IBM Traveler サーバーの高可用性 (HA) プールを使用した同じネットワークトポロジーを示しています。 この場合、デバイス要求の分散またはロードバランシングの機能は、信頼できるドメイン内の別のサーバーによって提供されます。

3 番目の図は、モバイル要求を IBM Traveler サーバーの HA プールに分散させる機能も持つ認証プロキシを使用したネットワークトポロジを示しています。IBM® Mobile Connect は、認証プロキシと要求分散の機能を提供できます。

このネットワークトポロジは、柔軟性の面では VPN トポロジに及びません。しかし、IBM Domino サーバーのインフラストラクチャがインターネットまたは DMZ に公開されることのないセキュアなネットワーク実装を実現します。
IBM Traveler は、いくつかのリバースプロキシ製品についてテスト済みですが、標準的なリバースプロキシ機能を備えた製品であれば、ほとんどの場合十分です。 リバースプロキシを選択する場合は、以下のような考慮すべき項目があります。
- 使用しているネットワーク内のモバイルデバイスクライアントと同数の長時間稼働 HTTP 接続をリバースプロキシでサポートできることを確認してください。モバイルデバイスでプッシュを有効にすると、そのデバイスでサーバーに対する HTTP または HTTPS 要求のための接続が開かれ、タイムアウトが発生するまで、または新しいデータが到着するまで、開かれた状態に維持されます。これは、実質上、HTTP または HTTPS 接続の数がオンライン状態のデバイスの数と同じかまたはそれよりも若干多くなることを意味します。Web ブラウザでは、通常、Web ページまたは画像を取得するために接続が開かれ、要求が完了するとすみやかに接続が閉じられますが、このモデルは Web ブラウザとは異なります。
- リバースプロキシでモバイルデバイスの資格情報を認証する場合は、ユーザーの資格情報の認証が失敗したときに、リバースプロキシから HTTP 401 応答コードを返すことができなければなりません。プロキシが HTTP 200 (OK) 応答と共にユーザー指向の Web ページをモバイルデバイスに返してはなりません。これは、モバイルデバイス上の同期クライアントはユーザー指向の Web ページまたはフォームを認識できず、代わりに、許可が失敗したことを示す標準のインターネット応答コードに依存しているためです。
- デバイスから IBM Traveler サーバーへの接続には、HTTP GET、POST、OPTIONS の各メソッドを使用します。 3 つのメソッドすべてが許可されていることを確認してください。
- Web 管理クライアントでは、HTTP GET、POST、PUT、DELETE メソッドが必要です。プロキシを使用して IBM Traveler サーバーの Web ベースの管理も行う場合、4 つすべてのメソッドが許可されていることを確認してください。
- デバイスからの HTTP または HTTPS 接続は長時間実行される (プッシュ接続の場合は最大 30 分まで) 場合があるため、長時間持続している接続をプロキシで許可し、短時間でタイムアウトしないようにしてください。
- HTTP OPTIONS 応答が、リバースプロキシからではなく IBM Traveler サーバーからの応答であることを確認してください。
- HTTP 449 応答が異なる HTTP 応答 (500 など) に変更されていないことを確認してください。
- 一部のデバイスでは、HTTP 500 応答が複数回発生すると、すべてのデータを再同期するため、HTTP 500 応答は避けてください。通常は、HTTP 503 応答が代わりに使用されます。
- HTTP 301 と 302 リダイレクトは避けてください。これは、デバイスが応答時に POST を GET に変えることがよくあるためです。GET には当然ながら本文が含まれていないため、POST 内の本文が失われることになります。
- プロキシサーバーで URL をエンコードまたはデコードしないでください。IBM Traveler サーバーで送受信されるすべての URL は、既に適切にエンコードされています。 URL を再度エンコードすると、URL 引数が破損し、使用不可になる可能性があります。
- 一部の MDM (Mobile Device Management) ソリューションでは、プロキシを使用して、モバイルデバイスと IBM Traveler の間の通信を制御します。 そのようなソリューションを使用している場合、MDM ベンダーに問い合わせて、すべての IBM Traveler アプリケーションをモバイルデバイス上でサポートできるかどうか、その MDM ベンダーがサポートする対象に既知の制約事項があるかどうかを確認してください。 IBM Traveler でサポートされるアプリケーションは、さまざまな通信プロトコルを使用しています (Exchange ActiveSync や SyncML など)。 一般的な HTTP プロキシは基盤となっているデータフローを検証しませんが、一部の MDM ソリューションではサポートを可能にするために特定の基盤プロトコルが必要になる場合があります。 Android 用の IBM Traveler、iOS デバイス向け IBM Traveler タスク、Traveler Companion では、Exchange ActiveSync プロトコルを使用しません。そのため、Exchange ActiveSync を利用可能なアプリケーションのみサポートする MDM ベンダーでは、サポートされない可能性があります。
- /Microsoft-Server-ActiveSync*、/servlet/traveler*、/traveler* は、すべて IBM Traveler に渡す必要があり、特に何にもマップする必要はありません (IBM Domino HTTP が必要に応じてマッピングを実行します)。
リバースプロキシを使用する場合、サーバー文書の設定で説明しているように、管理者は必ず、IBM Traveler サーバー文書に外部 URL を設定する必要があります。
注: MobileIron を使用していて、IBM Traveler タスクと IBM Traveler Companion をセットアップしている場合、外部 URL 設定を設定する方法に関する考慮事項について、この記事を参照してください。
テスト済み環境
- IBM Mobile Connect 6.1. は、HTTP または HTTPS を使用するモバイルデバイスのための、イントラネット内の専用サーバーリソースに対するパススルーとして機能する HTTP アクセスサービスを提供します。詳しくは、IBM Mobile Connect の資料 のトピック「HTTP アクセスサービス」を参照してください。
- IBM Websphere Edge Server V6.1
IBM Traveler のカスタム HTTP ヘッダー
以下に、IBM Traveler で使用するカスタム HTTP ヘッダーのリストを示します。通常、プロキシでは HTTP 応答ヘッダーは削除されませんが、削除する場合は、それらが以下のリストに含まれていないことを確認してください。
- X-IBM-BusySignal
- X-IBM-GETSTATUS
- X-IBM-GENERATEDEVICECONFIG
- X-IBM-PW-EXPIRATION
- X-IBM-TRAVELER-COMMANDS
- X-IBM-TRAVELER-HOST
- X-IBM-TRAVELER-HTTP-TIME
- X-IBM-TRAVELER-ERROR-MESSAGE
- X-IBM-TRAVELER-PUSH-HTTP
IBM Traveler 戻りコード
以下に、IBM Traveler サーバーで使用されるすべての戻りコードをリストします。使用しているネットワーク機器でこれらの戻りコードが妨害されたり改ざんされたりすることがないようにする必要があります。
- 200 OK
- 401 認証が必要、または失敗
- 403 アクセス禁止
- 404 要求が見つからない
- 408 同期タイムアウト
- 409 同期再開 (タイムアウト後)
- 449 プロビジョン
- 500 サーバーの一般エラー
- 503 サーバービジー状態