가상 호스트 설정

Private Cloud용 Edge v. 4.17.01

Edge의 가상 호스트는 API 프록시가 노출되는 도메인 및 Edge Router 포트와 더 나아가 앱이 API 프록시에 액세스하는 데 사용하는 URL을 정의합니다. 또한 가상 호스트는 API 프록시에 액세스할 때 HTTP 프로토콜을 사용할지, 아니면 암호화된 HTTPS 프로토콜을 사용해 액세스할지 정의합니다.

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

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

  • API 프록시에서 가상 호스트를 참조하는 데 사용하는 가상 호스트의 이름입니다.
  • 가상 호스트 라우터의 포트 일반적으로 이러한 포트는 9001에서 시작하여 새 가상 호스트마다 하나씩 증가합니다.
  • 가상 호스트의 호스트 별칭입니다. 일반적으로 가상 호스트의 DNS 이름입니다.

Edge Router는 요청을 처리하는 API 프록시를 결정하는 과정에서 수신 요청의 호스트 헤더를 사용 가능한 호스트 별칭 목록과 비교합니다. 가상 호스트를 통해 요청할 때는 가상 호스트의 호스트 별칭과 일치하는 도메인 이름을 지정하거나 라우터의 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 주소를 지정하고 호스트 헤더에서 호스트 별칭을 전달합니다.

    참고: curl 명령어, 대부분의 브라우저, 기타 여러 유틸리티는 요청의 일부로 도메인과 호스트 헤더를 자동으로 추가하므로 다음과 같은 형식의 curl 명령어를 사용할 수 있습니다.


    curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}

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

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

192.168.1.31:9001

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

curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} 

이 옵션은 Edge UI와 잘 작동하므로 선호됩니다.

라우터가 여러 개 있는 경우 각 라우터의 호스트 별칭을 추가하여 각 라우터의 IP 주소와 가상 호스트의 포트를 지정합니다.

또는 호스트 별칭을 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 미만의 포트 번호)에 바인딩하는 가상 호스트를 만들려면 라우터가 이러한 포트에 액세스할 수 있는 사용자로 실행되도록 구성해야 합니다. 기본적으로 라우터는 권한이 있는 포트에 액세스할 수 없는 사용자 'apigee'로 실행됩니다.

라우터를 다른 사용자로 실행하려면 다음 단계를 따르세요.

  1. 루트로 /opt/apigee/etc/edge-router.d/RUN_USER.sh 파일을 만듭니다.
  2. 파일에 다음 항목을 추가합니다.
    RUN_USER=root
    라우터를 루트로 실행하지 않으려면 포트에 액세스할 수 있는 사용자를 지정합니다.
  3. 파일을 저장합니다.
  4. 루트가 아닌 다른 사용자를 지정한 경우 파일 소유자를 해당 사용자로 변경합니다.
    > chown USER:USER /opt/apigee/etc/edge-router.d/RUN_USER.sh
  5. 라우터를 다시 시작합니다.
    > /opt/apigee/apigee-service/bin/apigee-service Edge-router restart