가상 호스트 정보

<ph type="x-smartling-placeholder"></ph> 현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서.
정보

Edge에서 라우터는 모든 수신 API 트래픽을 처리합니다. 즉, 모든 HTTP 및 HTTPS가 API 프록시에 대한 요청은 먼저 Edge Router에서 처리됩니다.

가상 호스트를 사용하면 서버에서 여러 도메인 이름을 호스팅할 수 있습니다. Edge의 경우 서버는 Edge Router에 해당합니다. 라우터에서 여러 개의 가상 호스트를 정의함으로써, 라우터는 여러 도메인 이름에 대한 API 요청을 처리할 수 있습니다.

Edge의 가상 호스트는 액세스 프로토콜 (HTTP 또는 HTTPS), 개방형 라우터 포트, 호스트를 정의 별칭입니다. 호스트 별칭은 일반적으로 라우터의 IP 주소에 매핑되는 DNS 도메인 이름입니다.

예를 들어 다음 이미지는 2개의 가상 호스트 정의가 있는 라우터를 보여줍니다.

첫 번째 가상 호스트는 도메인 domainName1에서 두 번째 도메인이 domainName2의 HTTP 요청을 처리합니다.

API 프록시에 대한 요청에서 라우터는 수신 요청의 Host 헤더를 어떤 가상 호스트를 사용할지에 대해 모든 가상 호스트에서 정의한 호스트 별칭 요청을 처리합니다

가상 호스트 정의 정보

가상 호스트에는 다음 정보가 포함됩니다.

  • 가상 호스트의 내부 이름입니다. 이 이름을 사용하여 가상 머신 가상 호스트를 구성할 수 있습니다.
  • 가상 호스트의 호스트 별칭입니다. 일반적으로 호스트 별칭은 DNS 라우터의 IP 주소에 매핑되는 도메인 이름입니다. Host 헤더는 API 프록시 요청에는 가상 호스트의 호스트 별칭이 포함되어야 합니다.
  • 라우터의 열린 포트.
  • TLS (HTTPS 액세스) 사용 설정 여부 (HTTP 액세스)

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

  • 이름 = myvhost
  • 호스트 별칭 = apis.acme.com
  • 포트 = 443
  • TLS가 사용 설정됨
를 통해 개인정보처리방침을 정의할 수 있습니다.

가상 호스트의 위 설정에 따라 API 프록시에 대한 요청은 다음을 사용합니다. 양식:

https://apis.acme.com/{proxy-base-path}/{resource-path}

각 항목의 의미는 다음과 같습니다.

  • {proxy-base-path}은 API 프록시를 만들 때 정의되며 각 API 프록시에 대해 고유합니다. 예를 들면 다음과 같습니다.
    https://apis.acme.com/characters
  • {resource-path} API 프록시를 통해 액세스할 수 있는 리소스의 경로입니다. 예를 들면 다음과 같습니다.
    https://apis.acme.com/characters/coyote
    https://apis.acme.com/characters/roadrunner

가상 호스트 정보 클라우드를 위한 에지

각 에지 조직에는 두 개의 환경 (testprod), 각 환경의 가상 호스트 2개 (기본보안) DNS 레코드를 업데이트해야 합니다

Apigee에서 제공하는 각 가상 호스트의 호스트 별칭에는 조직의 이름과 환경을 구성합니다.

환경 가상 호스트 이름 호스트 별칭 포트 TLS 사용 설정됨
prod 기본값 {org-name}-prod.apigee.net 80 아니요
보안 {org-name}-prod.apigee.net 443
테스트 기본값 {org-name}-test.apigee.net 80 아니요
보안 {org-name}-test.apigee.net 443

예를 들어 이름이 'myorg'인 조직의 기본 도메인 이름이 있습니다. prod 환경의 경우 'myorg-prod.apigee.net' 따라서 해당 조직의 API 프록시에 액세스하려면 다음과 같은 형식의 URL을 사용합니다.

http://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}
https://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}

Apigee 유료 요금제: 'apigee.net'이 포함된 도메인 이름 사용자에게 노출하고 싶은 것이 아닐 수도 있습니다 고객을 유치하세요 DNS 항목과 CNAME 레코드를 사용하여 도메인 이름을 사용할 수 있습니다 또한 호스트 별칭이 이 가상 호스트로 설정된 가상 호스트를 만들어야 합니다. 도메인 이름을 입력합니다. 이렇게 하면 개발자가 회사 고유의 도메인을 통해 API에 액세스할 수 있습니다.

다음은 Edge의 커스텀 도메인 예입니다.

https://apis.acme.com/{proxy-base-path}/{resource-path}

가상 호스트 정보 프라이빗 클라우드용 Edge

Private Cloud용 Apigee Edge를 설치하면 기본 조직이 없으며 환경 또는 가상 호스트가 자동으로 생성됩니다 Edge 설치 프로세스를 완료한 후에는 첫 번째 작업은 일반적으로 Google Cloud의 API를 통해 조직, 환경, 가상 호스트를 '온보딩' 프로세스입니다

온보딩을 수행하려면 에지 관리 서버 노드에서 다음 명령어를 실행합니다.

/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile

여기서 configFile에는 사용자, 조직, 환경, 가상 호스트로 구성됩니다.

예를 들어 다음을 만듭니다.

  • 조직 관리자로 선택한 사용자
  • 이름이 example인 조직
  • 이름이 prod인 조직의 환경
  • 포트에서 HTTP 액세스를 허용하는 default 환경의 가상 호스트 9001
  • 라우터에 액세스하는 데 사용되는 DNS 이름의 호스트 별칭 또는 IP:9001 형식으로 된 가상 호스트의 포트입니다.

나중에 조직, 환경, 가상 호스트를 원하는 만큼 추가할 수 있습니다. 온프레미스 버전입니다 자세한 내용은 다음을 참고하세요.

에지 라우터에서 가상 호스트가 열립니다. 따라서 라우터에 열려 있는지 확인하세요. 아래 형식의 명령어를 사용할 수 있습니다. 포트를 열려면 다음 안내를 따르세요.

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9001 -j ACCEPT --verbose

명령어를 실행하면 다음과 같은 형식의 URL을 사용하여 API에 액세스할 수 있습니다.

http://<router-ip>:9001/{proxy-base-path}/{resource-path}

일반적으로 API를 공개하지 않는 IP 주소 및 포트 번호를 입력합니다. 대신 라우터와 포트에 대한 DNS 항목을 정의합니다. 예를 들면 다음과 같습니다.

http://myAPI.myCo.com/{proxy-base-path}/{resource-path}

DNS 항목을 정의할 때 다음과 같은 호스트 별칭으로 가상 호스트도 만들어야 합니다. DNS 항목의 도메인 이름과 일치합니다. 위의 예에서는 호스트 별칭을 지정합니다. myAPI.myCo.com의 호스트 이름을 입력합니다.

호스트 별칭 및 DNS 이름 정보

가상 호스트에 설정하는 속성 중 하나는 호스트 별칭입니다. 호스트 별칭은 일반적으로 가상 호스트의 DNS 이름입니다. 호스트 별칭을 설정하는 방법은 에지 설치: 클라우드 또는 프라이빗 클라우드

호스트 별칭 및 클라우드용 Edge의 DNS 이름

클라우드용 Edge에서 Edge 조직을 처음 만들면 Apigee가 자동으로 두 개의 환경 (testprod), 두 개의 가상 호스트는 각 환경 (기본보안)과 각 환경의 DNS 레코드 가상 호스트입니다

가상 호스트의 호스트 별칭에는 조직 및 환경의 이름이 포함됩니다. 따라서 가상 호스트를 통한 요청의 형식은 다음과 같습니다.

  • http://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}
  • https://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}
  • http://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}
  • https://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}

일반적으로 호스트 대신 도메인 이름을 사용하는 가상 호스트를 만드는 것이 기본 apigee.net 도메인입니다. 해야 할 일 따라서 먼저 자체 DNS 항목과 CNAME 레코드를 만들어야 합니다.

다음 그림은 Edge에서 API 요청을 처리하는 방법에 대한 일반적인 구성을 보여줍니다.

이 예에서는 다음과 같이 정의됩니다.

  • api.acme.com은 원하는 도메인 이름입니다.
  • api.acme.com이 다음을 가리키도록 DNS 항목과 CNAME 레코드를 정의합니다. acme-prod.apigee.net.
  • 요청에는 라우터가 다음 작업에 사용하는 Host 헤더가 포함됩니다. 요청을 처리하는 가상 호스트를 결정합니다.

이 예시에서는 가상 호스트 정의에 다음 정보를 지정합니다.

  • 이름 = myvhost
  • 호스트 별칭 = apis.acme.com
  • 포트 = 443
  • TLS 액세스 사용 설정

자세한 내용은 클라우드를 위한 가상 호스트 구성을 참조하세요.

호스트 별칭 프라이빗 클라우드용 Edge의 DNS 이름

클라우드용 Edge와 마찬가지로 호스트에 자체 도메인 이름을 사용하는 가상 호스트를 만듭니다. 별칭입니다. 그런 다음 DNS 항목과 CNAME 레코드를 만들어 가상 호스트에 액세스합니다.

Cloud와 프라이빗 클라우드의 차이점 중 하나는 다음과 같은 형식으로 조직에 대해 자동으로 생성된 DNS 이름을 볼 수 있습니다.

  • name=default: http://{org-name}-{env-name}.apigee.net (라우터 포트 80)
  • name=secure: https://{org-name}-{env-name}.apigee.net (라우터 포트 443)

프라이빗 클라우드용 Edge에서 IP 주소 및 포트에 대한 DNS 항목을 만들어야 합니다. .

예를 들어 가상 호스트 정의에 다음 정보를 지정합니다.

  • 이름 = myvhost
  • 호스트 별칭 = apis.acme.com
  • 포트 = 9001
  • TLS 액세스 사용 설정

다음 그림은 Edge에서 API 요청을 처리하는 방법에 대한 일반적인 구성을 보여줍니다.

이 예에서는 다음과 같이 정의됩니다.

  • api.acme.com은 원하는 도메인 이름입니다.
  • api.acme.com이 IP를 가리키도록 DNS 항목과 CNAME 레코드를 정의합니다. 라우터의 주소 및 포트에서 확인할 수 있습니다.
  • 요청에는 라우터가 다음 작업에 사용하는 Host 헤더가 포함됩니다. 요청을 처리하는 가상 호스트를 결정합니다.

자세한 내용은 프라이빗 클라우드의 가상 호스트 구성을 참조하세요.

호스트 별칭 및 와일드 카드

'*' 기호를 포함할 수 있습니다. 호스트 별칭의 와일드 카드 문자. '*' 와일드 카드 문자는 호스트 별칭의 시작 부분 (첫 번째 '.')에만 있어야 하고 있습니다.

다음은 와일드 카드를 사용한 유효한 호스트 별칭의 예입니다.

*.example.com

다음 예는 유효하지 않습니다.

  www.*.example.com
  w*.example.com

가상 호스트 별칭에 와일드 카드를 사용하면 API 프록시는 다음과 같이 여러 하위 도메인으로 주소가 지정된 호출을 처리합니다. alpha.example.com, beta.example.com 또는 live.example.com입니다. 와일드 카드 별칭을 사용하면 가상 머신 수를 줄일 수 있습니다. 환경당 호스트를 사용하여 제한이 있습니다.

가상 호스트의 TLS 인증서에는 인증서의 CN 이름에 일치하는 와일드 카드가 있어야 합니다. 예를 들면 *.example.com입니다.

가상 호스트 속성 정보

Edge에서 가상 호스트는 XML 객체로 표시됩니다. 예를 들어 다음 XML 객체는 가상 호스트를 정의합니다.

<VirtualHost name="vhostName">
    <HostAliases>
        <HostAlias>hostAlias</HostAlias>
    </HostAliases>
    <Interfaces>
        <!-- Private Cloud only -->
        <Interface>interfaceName</Interface>
    <Port>portNumber</Port>
    <BaseURL>http://myCo.com<</BaseUrl>
    <OCSPStapling>off</OCSPStapling>
    <RetryOptions/>
   <SSLInfo>
        <Enabled>trueFalse</Enabled>
        <ClientAuthEnabled>trueFalse</ClientAuthEnabled>
        <KeyStore>ref://keystoreRef</KeyStore>
        <KeyAlias>keyAlias</KeyAlias>
        <TrustStore>ref://truststoreRef</TrustStore>
        <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
    </SSLInfo>
    <Properties>
        <Property name="proxy_read_timeout">timeout</Property>
        <Property name="keepalive_timeout">timeout</Property>
        <Property name="proxy_request_buffering">onOff</Property>
        <Property name="proxy_buffering">onOff</Property>
        <Property name="ssl_protocols">protocolList</Property>
        <Property name="ssl_ciphers">cipherList</Property>
    </Properties>
</VirtualHost>

설정할 수 있는 속성 목록은 클라우드 서비스에 Edge를 사용하는지 여부에 따라 달라집니다. 사용할 수 있습니다 프라이빗 클라우드에 Edge를 사용하는 경우 사용 가능한 속성은 Edge 버전에 따라 다릅니다. 가상 호스트의 모든 속성에 대한 자세한 설명은 다음을 참조하세요. 가상 호스트 속성 참조.

특정 버전의 Edge에 맞는 가상 호스트를 만드는 방법에 관한 자세한 내용은 다음을 참고하세요.