가상 호스트 설정

Edge의 가상 호스트는 API 프록시가 노출되는 도메인과 Edge 라우터 포트를 정의하고, 더 나아가 앱이 API 프록시에 액세스하는 데 사용하는 URL을 정의합니다. 또한 가상 호스트는 API 프록시가 HTTP 프로토콜을 사용하여 액세스되는지 아니면 암호화된 HTTPS 프로토콜을 사용하여 액세스되는지 정의합니다.

Edge 온보딩 프로세스의 일부로 조직, 환경, 가상 호스트를 만들어야 합니다. Edge는 신규 사용자가 이 프로세스를 더 쉽게 진행할 수 있도록 setup-org 명령어를 제공합니다.

가상 호스트를 만들 때 다음 정보를 지정해야 합니다.

  • API 프록시에서 가상 호스트를 참조하는 데 사용하는 가상 호스트의 이름 입니다.
  • 가상 호스트의 라우터에 있는 포트 입니다. 일반적으로 이러한 포트는 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 라우터는 요청을 처리하는 API 프록시를 결정하는 과정에서 수신 요청의 Host 헤더를 사용 가능한 호스트 별칭 목록과 비교합니다. 가상 호스트를 통해 요청할 때는 가상 호스트의 호스트 별칭과 일치하는 도메인 이름을 지정하거나 라우터의 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'

    이 형식에서는 라우터의 IP 주소를 지정하고 호스트 별칭을 Host 헤더에서 전달합니다.

가상 호스트의 DNS 항목이 없는 경우의 옵션

DNS 항목이 없는 경우의 한 가지 옵션은 호스트 별칭을 routerIP:port와 같이 라우터의 IP 주소와 가상 호스트의 포트로 설정하는 것입니다. 예를 들면 다음과 같습니다.

VHOST_ALIAS=192.168.1.31:9001

그런 다음 아래 형식으로 curl 명령어를 만듭니다.

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

이 옵션은 새 Edge UI와 잘 작동하므로 권장됩니다.

라우터가 여러 개 있는 경우 각 라우터의 호스트 별칭을 추가하여 각 라우터의 IP 주소와 각 라우터의 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