Edge for Private Cloud バージョン 4.17.01
Edge 上の仮想ホストでは、API プロキシが公開されるドメインと Edge Router ポートが定義されます。さらに、拡張機能により、アプリが API プロキシへのアクセスに使用する URL も定義されます。また、仮想ホストでは、API プロキシへのアクセスに HTTP プロトコルと暗号化された HTTPS プロトコルのどちらを使用するかも定義されます。
Edge オンボーディング プロセスの一環として、組織、環境、仮想ホストを作成する必要があります。Edge では、新規ユーザーがこのプロセスを簡単に行えるように、setup-org コマンドが用意されています。
仮想ホストを作成するときに、次の情報を指定する必要があります。
- API プロキシで仮想ホストを参照するために使用する仮想ホストの名前。
- 仮想ホストの Router のポート。通常、これらのポートは 9001 から始まり、新しい仮想ホストごとに 1 ずつ増加します。
- 仮想ホストのホスト エイリアス。通常は仮想ホストの DNS 名です。
Edge Router は、リクエストを処理する API プロキシの決定の一環として、受信リクエストの Host ヘッダーを使用可能なホスト エイリアスのリストと比較します。仮想ホストを介してリクエストを行う場合は、仮想ホストのホスト エイリアスに一致するドメイン名を指定するか、Router の IP アドレスとホスト エイリアスを含む Host ヘッダーを指定します。
たとえば、ポート 9001 に myapis.apigee.net のホスト エイリアスを持つ仮想ホストを作成した場合、その仮想ホストを介した API への cURL リクエストには次のいずれかの形式を使用できます。
- myapis.apigee.net の DNS エントリがある場合:
curl http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path} - myapis.apigee.net の DNS エントリがない場合:
curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} -H 'Host: myapis.apigee.net'
このフォームでは、Router の IP アドレスを指定し、ホスト エイリアスを Host ヘッダーで渡します。
注: curl コマンド、ほとんどのブラウザ、その他多くのユーティリティでは、ドメインを含む Host ヘッダーがリクエストの一部として自動的に追加されるため、実際には次の形式の curl コマンドを使用できます。
curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}
仮想ホストの DNS エントリがない場合のオプション
DNS エントリがない場合の選択肢の一つは、<routerIP>:port の形式で、Router の IP アドレスと仮想ホストのポートをホスト エイリアスに設定することです。次に例を示します。
192.168.1.31:9001
次に、以下の形式で curl コマンドを作成します。
curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}
このオプションは、Edge UI で適切に機能するため、推奨されます。
複数の Router がある場合は、各 Router の IP アドレスと仮想ホストのポートを指定して、Router ごとにホスト エイリアスを追加します。
ホスト エイリアスを temp.hostalias.com などの値に設定することもできます。その場合は、すべてのリクエストで Host ヘッダーを渡す必要があります。
curl -v http://<routerIP>:9001/{proxy-base-path}/{resource-path} -H 'host: temp.hostalias.com'
または、ホスト エイリアスを /etc/hosts ファイルに追加します。たとえば、/etc/hosts に次の行を追加します。
192.168.1.31 temp.hostalias.com
これにより、DNS エントリがある場合と同じようにリクエストを行うことができます。
curl -v http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path}
仮想ホストでの保護ポートの使用
保護されたポート(例: 1024 未満のポート番号)に Router をバインドする仮想ホストを作成する場合は、それらのポートへのアクセス権を持つユーザーとして実行されるように Router を構成する必要があります。デフォルトでは、Router は特権ポートへのアクセス権がないユーザー「apigee」として実行されます。
Router を別のユーザーとして実行するには:
- root として、ファイル /opt/apigee/etc/edge-router.d/RUN_USER.sh を作成します。
- 次のエントリをファイルに追加します。
RUN_USER=root
Router を root として実行しない場合は、ポートにアクセスできるユーザーを指定します。 - ファイルを保存します。
- root 以外のユーザーを指定した場合は、ファイルのオーナーをそのユーザーに変更します。
> chown USER:USER /opt/apigee/etc/edge-router.d/RUN_USER.sh - ルーターを再起動します。
> /opt/apigee/apigee-service/bin/apigee-service edge-router restart