클라우드용 가상 호스트 구성

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

유료 계정이 있는 클라우드 고객은 조직에서 가상 호스트를 만들 수 있습니다.

자세히 알아보기:

가상 파일을 만들고 수정할 수 있는 사용자 Google Kubernetes Engine이

가상 호스트 생성 및 수정은 Edge Cloud의 유료 계정에서만 사용할 수 있습니다. 가상 호스트를 만드는 사용자는 조직 관리자 역할이거나 가상 호스트를 수정할 권한이 있는 커스텀 역할을 만들 수도 있습니다. 다른 역할의 사용자는 가상 호스트 생성을 위한 승인

예를 들어 유료 고객이 할 수 있는 작업은 다음과 같습니다.

  • 단방향 및 양방향 TLS 사용 설정
  • 가상 호스트에서 사용하는 keystore/truststore를 지정합니다.

무료 및 체험판 계정은 가상 호스트를 만들거나 수정할 수 없으며 가상 호스트로 제한됩니다. 자동으로 생성됩니다 Edge 요금제에 대한 자세한 내용은 다음을 참조하세요. https://apigee.com/api-management/#/pricing.

클라우드용 가상 호스트 구성 요구사항

다음 표에는 가상 호스트를 만들기 위한 요구사항이 요약되어 있습니다.

카테고리 요건 설명
계정 유형 유료 무료 및 체험판 계정은 가상 호스트를 만들거나 수정할 수 없습니다.
사용자 역할 조직 관리자 조직 관리자만 가상 호스트를 만들거나 가상 호스트를 수정할 수 있는 권한
가상 호스트 수 최대 20자

가상 호스트는 리소스당 최대 20개로 이해하는 것이 중요합니다

참고: 비공개 서버의 가상 호스트 수에는 제한이 없습니다. 있습니다.

대부분의 조직/환경에서는 두 개의 가상 호스트를 사용합니다. 하나는 HTTP용이고 다른 하나는 HTTPS용 호스트입니다. 액세스할 수 있습니다 조직/환경에서 허용하는 경우 추가 가상 호스트가 필요할 수 있습니다. 액세스할 수 없습니다.

기본 URL 프로토콜 포함 UI 또는 API를 사용하여 가상 호스트의 기본 URL을 정의할 때 은 프로토콜 (예: 'http://' 또는 'https://')을 URL의 일부로 지정해야 합니다.
포트 443

가상 호스트는 포트 443에서만 만들 수 있습니다.

포트 443에 여러 개의 가상 호스트를 만들 수 있습니다. 단, 포트 443에 모두 TLS를 지원합니다

TLS 필수

HTTPS를 통한 TLS를 지원하는 가상 호스트만 만들 수 있습니다. 이미 키 저장소와 truststore(선택사항)를 생성했으며, 여기에는 TLS 인증서와 키가 포함되어 있습니다.

Symantec 또는 VeriSign과 같은 신뢰할 수 있는 법인에서 서명한 인증서가 있어야 합니다. 자체 서명 인증서는 사용할 수 없습니다.

HTTP 액세스가 필요한 경우 Apigee Edge 지원팀에 문의하세요.

TLS 프로토콜 TLS 1.2

클라우드의 Edge는 TLS 버전 1.2만 지원합니다.

호스트 별칭 조직 및 환경에 고유한 솔루션 다른 조직/환경 조합에 대한 호스트 별칭이 존재하지 않습니다.
도메인 이름 고객 소유

가상 호스트에 지정된 도메인 이름을 소유하고 있어야 합니다. 에지 검사는 호스트 별칭으로 정의된 도메인 이름이 TLS의 메타데이터와 일치하는지 확인 인증서

특히 Edge는 인증서에서 다음 정보를 확인합니다.

  • CN - 일반 이름
  • SAN - 주체 대체 이름

와일드 카드는 SAN 또는 CN에서 허용됩니다(예: *.myco.net).

Edge는 인증서가 만료되지 않았는지도 확인합니다.

클라이언트 앱 SNI 지원 가상 호스트에 액세스하는 모든 클라이언트 앱은 SNI를 지원해야 합니다.

SNI 지원은 모든 앱에 필요합니다.

브라우저를 사용하여 가상 호스트 만들기

이 섹션의 대부분의 예시에서는 Edge API를 사용하여 가상 호스트를 만들거나 수정하지만 Edge UI에서 가상 호스트를 만들 수 있습니다

Edge UI를 사용하여 가상 호스트를 만들려면 다음 안내를 따르세요.

  1. apigee.com/edge에 로그인합니다.
  2. 관리 > 가상 호스트로 이동합니다.
  3. prod 또는 test와 같은 환경을 선택합니다.
  4. + 가상 호스트를 선택하여 가상 호스트를 만들거나 가상 머신의 이름을 선택합니다. 기존 가상 호스트를 사용하여 수정할 수 있습니다
  5. 가상 호스트 필드를 채우는 방법에 대한 자세한 내용은 위의 표를 참조하세요.

단방향 TLS의 가상 호스트 정의

가상 호스트를 정의하는 XML 객체입니다. 예를 들어, 다음 XML 객체는 단방향 TLS의 가상 호스트:

<VirtualHost name="myTLSVHost"> 
    <HostAliases> 
        <HostAlias>api.myCompany.com</HostAlias> 
    </HostAliases> 
    <Port>443</Port> 
    <SSLInfo> 
        <Enabled>true</Enabled> 
        <ClientAuthEnabled>false</ClientAuthEnabled> 
        <KeyStore>ref://myTestKeystoreRef</KeyStore> 
        <KeyAlias>myKeyAlias</KeyAlias> 
    </SSLInfo>
</VirtualHost>

이 정의에서는 다음을 수행합니다.

  • 이름myTLSVHost로 지정합니다. 이름을 사용하여 참조 API 프록시나 API 호출에서 가상 호스트로 라우팅할 수 있습니다.
  • 호스트 별칭api.myCompany.com으로 지정합니다. 이것은 DNS 정의 및 CNAME으로 정의된 대로 API에 액세스하는 데 사용되는 공개용 도메인 레코드.
  • 포트 번호를 443으로 지정합니다. 생략할 경우 기본적으로 설정 포트는 443으로 설정됩니다
  • 필요에 따라 TLS를 사용 설정합니다.

    <Enable> 요소 true로 설정하여 단방향 TLS를 사용 설정하고, 및 <KeyStore> 요소는 TLS 연결에서 사용하는 키 저장소 및 키 별칭입니다.

    양방향 TLS를 사용 설정하려면 <ClientAuthEnabled>를 true로 설정합니다. <TrustStore> 요소를 사용하여 truststore를 지정합니다. 트러스트 저장소 클라이언트의 인증서 발급자 및 인증서의 CA 체인(필수)을 보유합니다.

    참고: Edge는 원래 SSL을 지원했으므로 구성하는 데 사용하는 태그는 TLS의 이름은 <SSLInfo>입니다.

가상 호스트에 설정할 수 있는 추가 속성이 있습니다. 자세한 내용은 가상 호스트 속성 참조를 확인하세요.

가상 호스트에서 keystore 및 truststore 이름을 지정하는 방법 결정

TLS를 지원하도록 가상 호스트를 구성할 때는 참조. 참조는 키 저장소의 이름이 포함된 변수입니다. truststore를 사용하세요.

    <SSLInfo> 
        <Enabled>true</Enabled> 
        <ClientAuthEnabled>false</ClientAuthEnabled> 
        <KeyStore>ref://myTestKeystoreRef</KeyStore> 
        <KeyAlias>myKeyAlias</KeyAlias> 
    </SSLInfo>

참조를 사용하면 참조 값을 변경하여 가상 호스트가 사용하는 키 저장소입니다. 일반적으로 현재 키 저장소의 인증서가 만료될 예정입니다. 다시 시작할 필요 없이 참조 값을 변경할 수 있습니다. 에지 라우터를 통해 연결할 수 있습니다 자세한 내용은 참조 작업을 참조 만들기 및 수정에 대해 자세히 알아보세요.

키 저장소와 트러스트 저장소에 대한 참조만 사용할 수 있습니다. 별칭에 대한 참조를 사용할 수 없습니다. 키 저장소에 대한 참조를 변경하는 경우 인증서의 별칭 이름이 이전 키 저장소 이름과 동일해야 합니다.

키 저장소 및 truststore 참조 사용 제한사항

키 저장소 및 키 저장소에 대한 참조를 사용할 때는 다음 제한사항을 고려해야 합니다. 트러스트 저장소:

  • SNI를 지원하는 경우에만 가상 호스트에서 keystore 및 truststore 참조를 사용할 수 있습니다. Apigee Router에서 SSL을 종료하면 됩니다.
  • Apigee 라우터 앞에 부하 분산기가 있고 이 네트워크에서 TLS를 종료하는 경우에는 부하 분산기의 경우 가상 호스트에서 키 저장소 및 트러스트 저장소 참조를 사용할 수 없습니다.

양방향 TLS의 가상 호스트 정의

양방향 TLS를 사용 설정하려면 <ClientAuthEnabled> 요소를 true로 설정하고, <TrustStore> 요소로 reference를 사용합니다. 트러스트 저장소 클라이언트의 인증서 발급자 및 인증서의 CA 체인(필수)을 보유합니다. 클라이언트는 또한 양방향 TLS에 대해 올바르게 구성되어야 합니다.

양방향 TLS를 위한 가상 호스트를 만들려면 TLS에 대한 가상 호스트를 정의하는 호스트:

<VirtualHost name="myTLSVHost"> 
    <HostAliases> 
        <HostAlias>api.myCompany.com</HostAlias> 
    </HostAliases> 
    <Port>443</Port> 
    <SSLInfo> 
        <Enabled>true</Enabled> 
        <ClientAuthEnabled>true</ClientAuthEnabled> 
        <KeyStore>ref://myTestKeystoreRef</KeyStore> 
        <KeyAlias>myKeyAlias</KeyAlias> 
        <TrustStore>ref://myTestTruststoreRef</TrustStore> 
    </SSLInfo>
</VirtualHost>

이 정의에서는 다음을 수행합니다.

  • <ClientAuthEnabled>를 true로 설정하여 양방향 TLS를 사용 설정합니다.
  • <TrustStore> 요소를 사용하여 truststore에 대한 참조를 지정합니다. 트러스트 저장소 클라이언트의 인증서 발급자 및 인증서의 CA 체인(필수)을 보유합니다.

Apigee 무료 체험판 인증서 및 키를 사용하는 가상 호스트 정의

Cloud용 유료 Edge 계정이 있지만 아직 TLS 인증서와 키가 없는 경우 Apigee 무료 체험판 인증서 및 키를 사용하는 가상 호스트 즉, 키 저장소를 먼저 만들지 않고도 가상 호스트를 만들 수 있습니다.

Apigee 무료 체험판 인증서는 *.apigee.net 도메인에 대해 정의됩니다. 따라서 가상 호스트의 <HostAlias>*.apigee.net 형식이어야 합니다.

양방향 TLS를 실행하는 경우에도 <ClientAuthEnabled> 요소를 true, <TrustStore> 요소와 함께 reference를 사용하여 truststore 지정 위의 양방향 TLS에 대한 가상 호스트 정의에 설명된 대로 HTTP IP 주소를 지정해야 합니다.

Apigee 무료 체험판 인증서 및 키를 사용하여 가상 호스트를 정의하는 XML 객체에서는 <KeyStore><KeyAlias> 요소로 대체하고 <UseBuiltInFreeTrialCert> 요소의 하위 요소로 추가합니다.

<VirtualHost name="myTLSVHost">
    <HostAliases>
        <HostAlias>myapi.apigee.net</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>false</ClientAuthEnabled>
    </SSLInfo>
    <UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert>
</VirtualHost>

<UseBuiltInFreeTrialCert> 요소의 기본값은 false입니다.

양방향 TLS의 경우 가상 호스트를 다음과 같이 정의합니다.

<VirtualHost name="myTLSVHost">
    <HostAliases>
        <HostAlias>myapi.apigee.net</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>true</ClientAuthEnabled>
        <TrustStore>ref://myTestTruststoreRef</TrustStore>
    </SSLInfo>
    <UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert>
</VirtualHost>

Edge UI에서 내장된 무료 체험판 인증서 사용 옵션을 선택합니다. 다음 명령어를 사용하여 무료 Apigee 인증서 및 키를 사용합니다.

&#39;내장된 무료 체험판 인증서 사용&#39;을 선택합니다.

가상 호스트 만들기

가상 호스트를 만들려면 다음 절차를 따르세요.

  1. 공개 도메인(이 예에서는 api.myCompany.com)에 대해 DNS 항목과 CNAME 레코드를 만듭니다. [org]-[environment].apigee.net을 가리킵니다.
  2. 이 예에서는 다음과 같이 이름이 myTestKeystore인 키 저장소를 만들고 구성합니다. 다음 절차에 따라 처리하세요. Edge UI를 사용하여 키 저장소 및 truststore 만들기. 이 예에서는 키 저장소가 인증서에 myKeyAlias 별칭 이름을 사용하는지 확인합니다. 비공개 키를 생성합니다.
  3. 인증서와 키를 키 저장소에 업로드합니다. cert는 가상 호스트에 사용할 호스트 별칭과 일치합니다.
  4. Edge UI 또는 API를 사용하여 키 저장소에 대한 참조를 만듭니다. 참조 키 저장소의 이름과 참조 유형을 KeyStore로 지정합니다. 자세한 내용은 참조 작업을 참조 만들기 및 수정에 대해 자세히 알아보세요.

  5. Create a Virtual Host API를 사용합니다. 올바른 키 저장소 참조와 키 별칭을 지정해야 합니다. API를 사용하려면 다음 POST API 호출을 사용하여 키 저장소를 생성합니다. 이름이 myTLSVHost로 지정되었는지 확인합니다.
    curl -X POST -H "Content-Type:application/xml" \
      https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/virtualhosts \
      -d '<VirtualHost name="myTLSVHost">
        <HostAliases>
          <HostAlias>api.myCompany.com</HostAlias>
        </HostAliases>
        <Port>443</Port>
        <SSLInfo>
          <Enabled>true</Enabled>
          <ClientAuthEnabled>false</ClientAuthEnabled>
          <KeyStore>ref://myTestKeystoreRef</KeyStore>
          <KeyAlias>myKeyAlias</KeyAlias>
        </SSLInfo>
      </VirtualHost>' \
      -u orgAdminEmail:password

    클라이언트에서 양방향 TLS를 수행하는 경우 <ClientAuthEnabled>를 true로 설정하세요. <TrustStore> 요소를 사용하여 truststore를 지정합니다. 클라이언트 양방향 TLS에 대해 올바르게 구성해야 합니다. 즉, Edge에는 인증서 발급자 및 인증서 체인에 적용됩니다. 설명된 절차를 사용하여 트러스트 저장소를 만듭니다. 여기: Edge UI를 사용하여 키 저장소 및 truststore 만들기.

  6. 기존 API 프록시가 있는 경우 다음 인스턴스의 <HTTPConnection> 요소에 가상 호스트를 추가합니다. ProxyEndpoint를 선택합니다. 가상 호스트가 모든 새 API 프록시에 자동으로 추가됩니다. 를 참조하세요. 가상 호스트를 사용하도록 API 프록시 구성

가상 호스트를 사용하도록 API 프록시를 업데이트하고 DNS 항목과 CNAME을 만든 후 레코드를 추가하면 아래와 같이 API 프록시에 액세스할 수 있습니다.

https://api.myCompany.com/v1/{project-base-path}/{resource-path}

예를 들면 다음과 같습니다.

https://api.myCompany.com/v1/weather/forecastrss?w=12797282

가상 호스트 수정

유료 클라우드 고객이 기존 가상 호스트를 수정하기 위해 수행하는 주요 작업은 두 가지입니다.

  1. keystore 또는 truststore에 대한 참조 값 수정

    참고: <KeyStore> 또는 <TrustStore>를 사용하여 참조를 사용하려면 참조의 값을 변경할 수 있음 해 주세요. 하지만 <KeyStore> 또는 <TrustStore>: 다른 참조를 사용하거나 <KeyAlias>에서 다른 별칭을 사용하려면 Apigee Edge 지원팀에 문의해야 합니다.
  2. 가상 호스트의 TLS 속성 수정

이 참조

참조 값을 수정하여 가상 저장소에서 사용하는 keystore 또는 truststore를 변경할 수 있습니다. 호스팅합니다

참조 값을 수정하기 전에 다음을 수행하세요.

  1. 에 설명된 대로 새 키 저장소를 만들고 인증서와 키를 업로드합니다. Edge UI를 사용하여 키 저장소 및 truststore 만들기. 새 키 저장소에서 기존 키 별칭에 사용된 것과 동일한 이름을 키 별칭에 사용하는지 확인 스토어를 엽니다.
  2. 필요한 경우 에 설명된 대로 새 트러스트 저장소를 만들고 인증서를 업로드합니다. Edge UI를 사용하여 키 저장소 및 truststore 만들기.
  3. 참조 작업에 설명된 대로 참조를 수정합니다.

서비스 제공업체의 TLS 속성 가상 호스트

유료 고객은 Virtual Host API를 업데이트하여 가상 호스트를 업데이트합니다. 이 API를 사용하면 가상 호스트의 '속성'을 가상 호스트 속성 참조.

가상 호스트를 수정하면 Edge는 가상 호스트를 만들 때와 비슷한 검증을 수행합니다. 가상 호스트입니다 즉 수정 시 Edge는 다음을 확인합니다.

  • 호스트 별칭으로 지정한 도메인이 다른 조직에서 사용되지 않고 있습니다. 환경입니다
  • 도메인 이름을 소유하고 있어야 합니다. 특히 Edge는 cert는 호스트 별칭과 일치합니다. <ph type="x-smartling-placeholder">
      </ph>
    • CN - 일반 이름
    • SAN - 주체 대체 이름
    • Edge에서 인증서가 만료되지 않았는지 확인합니다.

Edge API를 사용하여 가상 호스트를 수정하려면 다음을 수행합니다.

  1. 다음 명령어를 사용하여 가상 호스트를 업데이트합니다. Virtual Host API를 업데이트합니다. API를 사용할 때는 변경하고자 하는 요소뿐만 아니라 요청 본문의 가상 호스트에도 적용됩니다. 이 예를 들어 proxy_read_timeout 속성의 값을 설정합니다.

    curl -X PUT -H "Content-Type:application/xml" \
      https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/virtualhosts/{vhost_name} \
      -d '<VirtualHost name="myTLSVHost">
        <HostAliases>
          <HostAlias>api.myCompany.com</HostAlias>
        </HostAliases>
        <Port>443</Port>
        <SSLInfo>
          <Enabled>true</Enabled>
          <ClientAuthEnabled>false</ClientAuthEnabled>
          <KeyStore>ref://myTestKeystoreRef</KeyStore>
          <KeyAlias>myKeyAlias</KeyAlias>
        </SSLInfo>
        <Properties>
           <Property name="proxy_read_timeout">50</Property>
             </Properties>
      </VirtualHost>' \
      -u orgAdminEmail:password

keystore 및 truststore에 대한 참조를 사용하는 가상 호스트

클라우드의 Edge에 대한 모든 새 가상 호스트는 keystore 및 truststore에 대한 참조를 사용합니다. 참조를 사용하면 Apigee Edge 지원팀에 문의하지 않고도 키 저장소 및 트러스트 저장소를 변경할 수 있습니다.

Apigee Edge의 이전 가상 호스트가 키 저장소 및 트러스트 저장소를 제공합니다 이 경우 가상 호스트를 업데이트하여 참조를 사용할 수 있습니다.

가상 호스트를 업데이트하여 참조

가상 호스트를 업데이트하려면 다음 절차를 따르세요.

  1. 필요한 경우 에 설명된 대로 새 키 저장소를 생성하고 인증서를 업로드합니다. Edge UI를 사용하여 키 저장소 및 truststore 만들기. 이미 키 저장소가 있는 경우 이 키를 가리키도록 참조를 구성할 수 있습니다.
  2. 키 저장소에 대한 새 참조를 생성합니다.
  3. 필요한 경우 새 트러스트 저장소를 만들고 인증서를 업로드합니다. 이미 트러스트 저장소가 있다면 이 객체를 가리키도록 참조를 구성할 수 있습니다.
  4. 트러스트 저장소에 대한 새 참조를 만듭니다.
  5. 가상 호스트를 업데이트하여 키 저장소, 별칭, truststore, 기타 TLS를 설정합니다. 속성 호출의 페이로드는 다음과 같습니다.
    curl -X PUT -H "Content-Type:application/xml" \
      https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/virtualhosts/{vhost_name} \
      -d '<VirtualHost  name="myTLSVHost">
            <HostAliases>
              <HostAlias>api.myCompany.com</HostAlias>
            </HostAliases>
            <Port>443</Port>
            <OCSPStapling>off</OCSPStapling>
            <SSLInfo>
              <Enabled>true</Enabled>
              <ClientAuthEnabled>true</ClientAuthEnabled>
              <KeyStore>ref://myKeyStore2Way</KeyStore>
              <KeyAlias>keyAlias</KeyAlias>
              <TrustStore>ref://myTrustStore2Way</TrustStore>
              <IgnoreValidationErrors>false</IgnoreValidationErrors>
            </SSLInfo>
          </VirtualHost>' \
        -u orgAdminEmail:pWord
  6. Apigee에 문의 지원을 통해 에지 라우터를 다시 시작하여 프로세스를 완료합니다.