仮想ホストの設定

Edge の仮想ホストでは、API プロキシが 公開されるドメインと Edge Router のポートが定義されます。さらに、拡張機能により、アプリが API プロキシへのアクセスに使用する URL も定義されます。また、仮想ホストでは、API プロキシに HTTP プロトコルを使用してアクセスするか、暗号化された HTTPS プロトコルを使用してアクセスするかも定義されます。

Edge のオンボーディング プロセスの一環として、組織、環境、 仮想ホストを作成する必要があります。Edge には、新規ユーザー向けにこのプロセスを簡単にする setup-org コマンドが用意されています。

仮想ホストを作成するときは、次の情報を指定する必要があります。

  • API プロキシで参照する仮想ホストの **名前** 。
  • 仮想ホストの Router のポート 。通常、これらのポート は 9001 から始まり、新しい仮想ホストごとに 1 ずつ増えます。
  • 仮想ホストのホスト エイリアス 。通常は仮想ホストの DNS 名です。

たとえば、setup-org コマンドに渡される構成ファイルで、この情報を次のように指定できます。

# Specify virtual host information
VHOST_PORT=9001
VHOST_NAME=default

# If you have a DNS entry for the virtual host
VHOST_ALIAS=myapis.apigee.net

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 ヘッダーに渡します。

仮想ホストの DNS エントリがない場合のオプション

DNS エントリがない場合のオプションの 1 つは、ホスト エイリアスを routerIP:port の形式で Router の IP アドレスと仮想ホストのポートに設定することです。例:

VHOST_ALIAS=192.168.1.31:9001

次に、次の形式で curl コマンドを作成します。

curl http://routerIP:9001/proxy-base-path/resource-path

このオプションは、新しい Edge UI で適切に機能するため、推奨されます。

複数の Router がある場合は、各 Router のホスト エイリアスを追加し、各 Router の IP アドレスと 仮想ホストのポートを指定します。

# Specify the IP and port of each router as a space-separated list enclosed in quotes:
# VHOST_ALIAS="192.168.1.31:9001 192.168.1.32:9001"

または、ホスト エイリアスを 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