Apigee Edge 문서입니다.
Go to the
Apigee X 문서로 이동합니다. info
온프레미스 설치에서는 가상 호스트를 완전히 제어할 수 있습니다. TLS 사용 여부와 관계없이 모든 환경의 모든 조직에 가상 호스트를 만들 수 있습니다.
이 문서에서는 간단한 가상 호스트를 만드는 방법을 설명합니다. 즉, TLS를 지원하지 않는 가상 호스트입니다. TLS를 지원하는 가상 호스트를 만드는 방법에 대한 예시를 비롯한 자세한 예시는 프라이빗 클라우드용 API에 대한 TLS 액세스 구성을 참조하세요.
자세히 알아보기:
- 가상 호스트 정보
- 가상 호스트 구성
- TLS 구성
- 키 저장소 및 트러스트 저장소
- TLS 액세스 구성 프라이빗 클라우드용 API
호스트 별칭 정보
가상 호스트를 만들 때는 가상 호스트의 호스트 별칭을 지정해야 합니다. 일반적으로 이는 가상 호스트의 DNS 이름입니다.
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헤더에 전달합니다.curl http://routerIP:9001/proxy-base-path/resource-path
가상 호스트의 DNS 항목이 없는 경우의 옵션
DNS 항목이 없는 경우의 한 가지 옵션은 호스트 별칭을 routerIP:port와 같이 라우터의 IP 주소와 가상 호스트의 포트로 설정하는 것입니다. 예를 들면 다음과 같습니다.
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
Edge for Private Cloud 4.16.01 이상 버전의 가상 호스트 포트 정보
가상 호스트를 만들 때는 가상 호스트에서 사용하는 라우터 포트를 지정합니다. 예를 들어 포트 9001입니다.
Apigee for Private Cloud 버전 4.16.01 이상에서는 기본적으로 라우터가 일반적으로 포트 1024 이하의 권한 있는 포트에 액세스할 수 없는 'apigee' 사용자로 실행됩니다. 라우터를 보호된 포트에 바인딩하는 가상 호스트를 만들려면 이러한 포트에 액세스할 수 있는 사용자로 실행되도록 라우터를 구성해야 합니다. 자세한 내용은 가상 호스트 설정을 참조하세요.
가상 호스트 만들기
이 섹션에서는 Apigee Edge for Private Cloud의 가상 호스트를 만드는 방법을 설명합니다. 새 가상 호스트를 만들려면 조직 관리자여야 합니다.
API 또는 Edge UI를 사용하여 Apigee Edge for Private Cloud의 가상 호스트를 만들 수 있습니다. 자세한 내용은 다음 섹션을 참조하세요.
브라우저를 사용하여 가상 호스트 만들기
이 섹션에서는 브라우저 (Edge UI만 해당)를 사용하여 가상 호스트를 만드는 방법을 설명합니다.
Edge UI에서 새 가상 호스트를 만들려면 다음 단계를 따르세요.
- Edge 관리 UI에 로그인합니다.
- 관리 > 가상 호스트 를 선택합니다.
드롭다운 목록에서 환경을 선택합니다.
Edge는 해당 환경의 가상 호스트 목록을 표시합니다.
- 새 가상 호스트를 만들려면 + 가상 호스트를 선택합니다.
Edge에 가상 호스트 만들기 양식이 표시됩니다.
기존 가상 호스트의 이름을 클릭하여 수정할 수도 있습니다.
- 새 가상 호스트를 정의합니다. 기본 URL 필드에는
프로토콜이 포함되어야 합니다 (즉, 필드 값에 'http://' 또는 'https://'를 접두사로 붙임).
또한 다음 사항에 유의하세요.
- 만들 수 있는 가상 호스트 수에는 제한이 없습니다.
- TLS는 선택사항이며 버전 1.0, 1.1 또는 1.2일 수 있습니다.
- 가상 호스트의 포트는 구성 가능합니다.
- 만들기 버튼을 클릭하여 새 가상 호스트를 저장합니다.
API로 가상 호스트 만들기
API로 가상 호스트를 만들려면 가상 호스트를 정의하는 XML 객체를 만듭니다. 예를 들어 다음 XML 객체는 HTTP 프로토콜을 사용하는 가상 호스트를 정의합니다.
<VirtualHost name="myVHost">
<HostAliases>
<HostAlias>DNS_name_or_IP:port</HostAlias>
</HostAliases>
<Interfaces/>
<Port>9005</Port>
</VirtualHost>가상 호스트에는 name 속성이 포함되어 있습니다.
name 속성의 값을 사용하여 가상 호스트를 사용하도록 API 프록시를 구성합니다.
그런 다음 다음 주소로 요청하여 이 가상 호스트를 통해 API 프록시에 액세스할 수 있습니다.
http://routerIP:port/proxy-base-path/resource-path
https://routerIP:port/proxy-base-path/resource-path각 항목의 의미는 다음과 같습니다.
http또는https: 가상 호스트가 TLS를 지원하도록 구성된 경우 HTTPS를 사용합니다. 가상 호스트가 TLS를 지원하지 않는 경우 HTTP를 사용합니다.- routerIP:port는 가상 호스트의 IP 주소와 포트 번호입니다.
- proxy-base-path 및 resource-path는 API 프록시를 만들 때 정의됩니다.
일반적으로 IP 주소와 포트 번호로 고객에게 API를 게시하지 않습니다. 대신 라우터 및 포트에 대한 DNS 항목을 정의합니다. 예를 들면 다음과 같습니다.
http://api.myCompany.com/proxy-base-path/resource-path https://api.myCompany.com/proxy-base-path/resource-path
DNS 항목을 정의하는 경우 DNS 항목의 도메인 이름과 일치하는 가상 호스트
의 호스트 별칭을 만들어야 합니다. 호스트 별칭은 클라이언트가
Host 헤더에 전달하는 문자열과 일치해야 합니다.
위의 예시에서는 api.myCompany.com의 호스트 별칭을 지정합니다.
<VirtualHost name="myVHost">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<Interfaces/>
<Port>9005</Port>
</VirtualHost>HTTP 프로토콜을 사용하는 가상 호스트를 만들려면 다음 단계를 따르세요.
- 가상 호스트 만들기 API를 사용하여 가상 호스트를 만듭니다. 여기서 ms-IP는 관리 서버 노드의 IP 주소 또는 도메인 이름입니다.
$ curl -X POST -H "Content-Type:application/xml" \ http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts \ -d '<VirtualHost name="newVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Interfaces/> <Port>9005</Port> </VirtualHost>' \ -u sysAdminEmail:password
- 호스트 별칭과 일치하는 가상 호스트의 DNS 레코드를 만듭니다.
- 기존 API 프록시가 있는 경우 프록시 엔드포인트의
<HTTPConnection>요소 에 가상 호스트를 추가합니다. 가상 호스트는 모든 새 API 프록시에 자동으로 추가됩니다. 가상 호스트를 사용하도록 API 프록시 구성을 참조하세요.
가상 호스트 수정
가상 호스트를 수정하려면 다음 단계를 따르세요.
-
가상 호스트 업데이트 API를 사용하여 가상 호스트를 업데이트합니다. 여기서
<ms-IP>는 관리 서버 노드의 IP 주소 또는 도메인 이름입니다. 변경하려는 요소뿐만 아니라 요청 본문에 가상 호스트의 전체 정의를 지정해야 합니다. 이 예시에서는 가상 호스트의 포트 번호를 9008에서 9009로 변경합니다:curl -X PUT -H "Content-Type:application/xml" \ http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts/vhost_name \ -d '<VirtualHost name="newVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Interfaces/> <Port>9009</Port> </VirtualHost>' \ -u email:password -
Edge for Private Cloud 버전 4.16.01 및 4.16.05만 해당 기존 가상 호스트를 수정하고 포트 번호를 변경하지 않고 TLS를 사용 설정하거나 TLS를 사용 중지하는 경우 다음 단계를 따르세요.
라우터를 중지합니다.
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
/opt/nginx/conf.d에서 파일을 삭제합니다.rm -f /opt/nginx/conf.d/*
라우터를 시작합니다.
/opt/apigee/apigee-service/bin/apigee-service edge-router start
- 모든 라우터에 대해 반복합니다.