Apigee Edge 문서입니다.
Apigee X 문서로 이동 정보
가상 호스트 표현
가상 호스트를 정의하는 데 사용하는 XML 객체는 사용 중인 Edge 버전(Cloud 버전)에 따라 프라이빗 클라우드입니다
프라이빗 클라우드 고객이라면 확인해 보시기 바랍니다
Cloud 및 Private Cloud 4.17.01 이상
<VirtualHost name="vhostName"> <Port>portNumber</Port> <BaseUrl>http://myCo.com</BaseUrl> <OCSPStapling>offOn</OCSPStapling> <HostAliases> <HostAlias>hostAlias</HostAlias> </HostAliases> <Interfaces> <!-- Private Cloud only --> <Interface>interfaceName</Interface> </Interfaces> <RetryOptions> <RetryOption>option</RetryOption> </RetryOptions> <ListenOptions> <ListenOption>option</ListenOption> </ListenOptions> <SSLInfo> <Enabled>trueFalse</Enabled> <ClientAuthEnabled>trueFalse</ClientAuthEnabled> <KeyStore>ref://keystoreRef</KeyStore> <KeyAlias>keyAlias</KeyAlias> <TrustStore>ref://truststoreRef</TrustStore> <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors> </SSLInfo> <!-- UseBuiltInFreeTrialCert is for Edge Cloud only --> <UseBuiltInFreeTrialCert>trueFalse</UseBuiltInFreeTrialCert> <PropagateTLSInformation> <!-- PropagateTLSInformation is Alpha in the Cloud only --> <ConnectionProperties>trueFalse</ConnectionProperties> <ClientProperties>trueFalse</ClientProperties> </PropagateTLSInformation> <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> <!-- ssl_protocols is Private Cloud only --> <Property name="ssl_protocols">protocolList</Property> <Property name="ssl_ciphers">cipherList</Property> </Properties> </VirtualHost>
Private Cloud 4.16.01~ 4.16.09
<VirtualHost name="vhostName"> <Port>portNumber</Port> <HostAliases> <HostAlias>hostAlias</HostAlias> </HostAliases> <Interfaces> <Interface>interfaceName</Interface> </Interfaces> <SSLInfo> <Enabled>trueFalse</Enabled> <ClientAuthEnabled>trueFalse</ClientAuthEnabled> <KeyStore>ref://keystoreRef</KeyStore> <KeyAlias>keyAlias</KeyAlias> <TrustStore>ref://truststoreRef</TrustStore> <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors> </SSLInfo> </VirtualHost>
프라이빗 클라우드 4.15.07 이하
<VirtualHost name="vhostName"> <Port>portNumber</Port> <HostAliases> <HostAlias>hostAlias</HostAlias> </HostAliases> <Interfaces> <Interface>interfaceName</Interface> </Interfaces> <SSLInfo> <Enabled>trueFalse</Enabled> <ClientAuthEnabled>trueFalse</ClientAuthEnabled> <KeyStore>keystore</KeyStore> <KeyAlias>keyAlias</KeyAlias> <TrustStore>truststore</TrustStore> <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors> <Ciphers> <Cipher>cipher</Cipher> <Cipher>cipher</Cipher> </Ciphers> <Protocols> <Protocol>protocol</Protocol> <Protocol>protocol</Protocol> </Protocols> </SSLInfo> </VirtualHost>
가상 호스트 구성 속성
다음 표에는 가상 호스트를 구성하는 데 사용하는 속성이 나와 있습니다.
속성 | 설명 | 기본값 | 필수 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
VirtualHost |
가상 호스트의 이름을 지정합니다. 이 이름을 사용하여 가상 호스트를 참조합니다. 참고하시기 바랍니다. 이름 속성에 사용할 수 있는 문자는 A-Z0-9._\-$%로 제한됩니다. |
없음 | 예 | ||||||||||||
포트 |
가상 호스트에서 사용하는 포트 번호를 지정합니다. 에지 라우터에서 포트가 열려 있는지 확인합니다.
클라우드의 경우: 가상 호스트를 만들 때 포트 443을 지정해야 합니다. 만약 포트는 기본적으로 443으로 설정됩니다. 443 이외의 포트를 사용하는 기존 가상 호스트가 있는 경우 포트를 변경할 수 없습니다. 프라이빗 클라우드 출시 4.16.01~4.17.05: 가상 호스트를 만들 때 가상 호스트에서 사용하는 라우터 포트를 지정합니다. 예: port 9001입니다. 기본적으로 라우터는 사용자 'apigee'로 실행됩니다. 액세스 권한이 없는 일반적으로 포트 1024 이하를 지원합니다 가상 호스트를 만들려는 경우 보호 장치에 있는 라우터가 있는 경우, 해당 라우터는 해당 포트에 대한 액세스 권한이 있는 사용자로 제한됩니다. 자세한 내용은 가상 호스트 설정을 참고하세요. 4.16.01 이전의 프라이빗 클라우드 출시: 라우터는 특정 포트에서 특정 인증서로 가상 호스트당 하나의 HTTPS 연결만 리슨할 수 있습니다. 따라서 지정된 포트에서 라우터에서 TLS 종료가 발생하면 여러 가상 호스트가 동일한 포트 번호를 사용할 수 없습니다. |
없음 | 예 | ||||||||||||
BaseUrl | 가상 머신에 배포된 API 프록시에 대해 Edge UI에서 표시하는 URL을 재정의합니다.
호스팅합니다 에지 라우터 앞에 외부 부하 분산기가 있는 경우에 유용합니다. 자세한 내용은 프라이빗 클라우드용 API에 대한 TLS 액세스 구성을 참고하세요.
|
없음 | 아니요 | ||||||||||||
OCSPStapling |
OCSP(온라인 인증서 상태 프로토콜) 클라이언트는 TLS 인증서의 유효성을 확인하기 위해 OCSP 응답기에 상태 요청을 전송합니다. 응답은 TLS 인증서가 유효하고 취소되지 않았는지 나타냅니다. OCSP 스태플링을 사용 설정하면 단방향 TLS의 TLS 서버 역할을 하는 Edge에서 OCSP 응답자를 직접 쿼리한 후 응답을 캐시할 수 있습니다. 그러면 Edge에서 이 응답을 TLS 클라이언트에 반환하거나 TLS 핸드셰이크의 일부로 스테이플합니다. 자세한 내용은 서버에서 OCSP 스태플링 사용 설정을 참고하세요. OCSP 스테이플링을 사용 설정하려면 TLS를 사용 설정해야 합니다. 사용 설정하려면 |
사용 안함 | 아니요 | ||||||||||||
HostAliases | |||||||||||||||
HostAlias |
라우터의 가상 호스트에 공개적으로 표시되는 DNS 이름입니다(포트 번호를 포함할 수도 있음). 가상 호스트의 호스트 별칭 이름과 포트 번호의 조합이 에지 설치의 모든 가상 호스트에 대해 고유해야 합니다. 즉, 여러 개의 가상 머신이 호스트 별칭이 다른 경우 호스트는 동일한 포트 번호를 사용할 수 있습니다. 호스트 별칭과 일치하는 DNS 항목과 CNAME 레코드를 만들어야 하며, 호스트 별칭은 클라이언트가
동일한 가상 호스트 정의에 여러 개의 '*' 기호를 포함할 수 있습니다. 호스트 별칭의 와일드 카드 문자. '*' 와일드 카드 문자는
호스트 별칭의 시작 부분 (첫 번째 '.') 앞에만 와야 하며 다른 문자와 혼합되어서는 안 됩니다.
예를 들면 클라우드의 경우: 다른 포트를 사용하는 기존 가상 호스트가 있는 경우 호스트 별칭을 추가하거나 삭제할 수 없습니다. Private Cloud의 경우: IP 주소를 사용하여 호스트 별칭을 설정하는 경우 DNS 항목이 아닌 라우터의 주소인 경우 각각에 대해 별도의 호스트 별칭을 추가합니다. 각 라우터의 IP 주소와 가상 호스트의 포트를 지정합니다. |
없음 | 예 | ||||||||||||
인터페이스 | Private Cloud용 Edge에만 사용할 수 있습니다. | ||||||||||||||
인터페이스 |
예를 들어 포트를 en0에만 바인딩하도록 지정하려면 다음을 실행합니다. <Interfaces> <Interface>en0</Interface> </Interfaces> 'ifconfig -a' 명령어를 실행하여 시스템에서 사용할 수 있는 인터페이스를 확인합니다. |
없음 | 모든 인터페이스 | ||||||||||||
RetryOptions | Edge Cloud와 Private Cloud 4.18.01 및 확인할 수 있습니다 | ||||||||||||||
RetryOption |
메시지 프로세서가 연결될 때 라우터가 이 가상 호스트에 대해 반응하는 방법 구성 감소합니다.
값을 여러 개 지정하면 라우터는 논리 OR를 사용하여 값을 결합합니다. 예를 들면 다음과 같습니다. <RetryOptions> <RetryOption>http_599</RetryOption> <RetryOption>error</RetryOption> <RetryOption>timeout</RetryOption> <RetryOption>invalid_header</RetryOption> </RetryOptions> |
||||||||||||||
ListenOptions | Private Cloud 4.18.01 이상 및 Edge에서 사용 가능 Apigee Edge 지원팀에 요청하여 클라우드 서비스 이용 | ||||||||||||||
ListenOption |
TCP 패스스루 모드에서 ELB를 사용하여 에지 라우터에 대한 요청을 처리하는 경우
라우터는 ELB의 IP 주소를
실제 클라이언트 IP입니다. 라우터가 실제 클라이언트 IP를 필요로 하는 경우,
기기에서
예를 들면 다음과 같습니다. <ListenOptions> <ListenOption>proxy_protocol</ListenOption> </ListenOptions> 나중에 |
||||||||||||||
SSLInfo | |||||||||||||||
사용 설정됨 |
단방향 TLS/SSL을 사용 설정합니다. 인증서와 비공개 키가 포함된 키 저장소를 정의해야 합니다. 클라우드의 경우: Symantec 또는 VeriSign과 같은 신뢰할 수 있는 법인에서 서명한 인증서가 있어야 합니다. 자체 서명 인증서 또는 자체 서명된 CA가 서명한 리프 인증서는 사용할 수 없습니다. Cloud: 기존 가상 호스트가 443이 아닌 포트를 사용하도록 구성된 경우 TLS 설정을 변경할 수 없습니다. 즉, TLS 설정을 또는 사용 중지에서 사용으로 변경할 수 있습니다. |
거짓 | 아니요 | ||||||||||||
ClientAuthEnabled | 요청을 실행하는 Edge(서버)와 앱(클라이언트) 간에 양방향 또는 클라이언트 TLS를 사용 설정합니다. 양방향 TLS를 사용 설정하려면 TLS 클라이언트의 인증서가 포함된 트러스트 저장소를 Edge에 설정해야 합니다. | 거짓 | 아니요 | ||||||||||||
KeyStore |
Edge의 키 저장소 이름입니다. 라우터를 다시 시작하지 않고도 키 저장소를 변경할 수 있도록 참조를 사용하여 키 저장소 이름을 지정하는 것이 좋습니다. 자세한 내용은 TLS 구성 옵션을 참고하세요. |
없음 | Enabled가 true인 경우 예 | ||||||||||||
KeyAlias | 키 저장소에 인증서와 비공개 키를 업로드할 때 지정된 별칭입니다. 별칭 이름을 문자 그대로 지정해야 합니다. 참조를 사용할 수 없습니다. 자세한 내용은 TLS 구성 옵션을 참고하세요. | 없음 | '사용'이 true인 경우 예 | ||||||||||||
TrustStore |
인증서 또는 인증서 체인이 포함된 Edge의 truststore 이름입니다.
양방향 TLS에 사용됩니다 Apigee에서는 라우터를 다시 시작하지 않고도 트러스트 저장소를 변경할 수 있도록 참조를 사용하여 트러스트 저장소 이름을 지정하는 것이 좋습니다. 자세한 내용은 TLS 구성 옵션을 참고하세요. |
없음 | 아니요 | ||||||||||||
IgnoreValidationErrors |
true인 경우 TLS 인증서 오류를 무시하도록 지정합니다. 이는 cURL의 '-k' 옵션과 유사합니다. 이 옵션은 대상 서버 및 대상 엔드포인트에 TLS를 구성할 때 유효합니다. 2방향 TLS를 사용하는 가상 호스트를 구성할 때 고려해야 합니다. 대상 엔드포인트/대상 서버와 함께 사용될 때 백엔드 시스템이 SNI를 사용하고 호스트 이름과 일치하지 않는 주체 고유 이름(DN)이 있는 인증서를 반환하는 경우 오류를 무시할 수 있는 방법이 없으며 연결에 실패합니다. |
거짓 | 아니요 | ||||||||||||
암호화 |
Private Cloud용 Edge 버전 4.15.07 이하에만 해당 가상 호스트에서 지원하는 암호화를 지정합니다. 암호화를 지정하지 않으면 JVM에서 사용 가능한 모든 암호화가 허용됩니다. 암호화를 제한하려면 다음 요소를 추가합니다. <Ciphers> <Cipher>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</Cipher> <Cipher>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256</Cipher> </Ciphers> |
모두 JVM에서 지원 | 아니요 | ||||||||||||
프로토콜 |
Edge Private Cloud 버전 4.15.07 이하에만 해당합니다. 가상 호스트에서 지원하는 프로토콜을 지정합니다. 프로토콜을 지정하지 않으면 그러면 JVM에서 사용할 수 있는 모든 프로토콜이 허용됩니다. 프로토콜을 제한하려면 다음 요소를 추가합니다. <Protocols> <Protocol>TLSv1</Protocol> <Protocol>TLSv1.2</Protocol> <Protocol>SSLv2Hello</Protocol> </Protocols> |
JVM에서 지원하는 모든 항목 | 아니요 | ||||||||||||
UseBuiltInFreeTrialCert | Edge Cloud에서만 사용할 수 있습니다. | ||||||||||||||
UseBuiltInFreeTrialCert |
유료 Edge for Cloud 계정이 있고 아직 TLS 인증서와 키가 없는 경우 Apigee 무료 체험판 인증서 및 키를 사용하는 가상 호스트를 만들 수 있습니다. 즉, 스테이트리스(Stateless) 컨테이너를 가상 호스트에서 쿼리할 수 있습니다. Apigee 무료 체험판 인증서는 자세한 내용은 가상 호스트 정의 Apigee 무료 체험판 인증서 및 키를 사용하는 고객을 참조하세요. |
거짓 | 아니요 | ||||||||||||
PropagateTLSInformation | Edge Cloud용 알파 버전에서만 사용할 수 있습니다. | ||||||||||||||
ConnectionProperties |
Edge에서 TLS 연결 정보를 캡처할 수 있도록 합니다. 그러면 이 정보를 API 프록시에서 흐름 변수로 사용할 수 있습니다. API 프록시에서 TLS 연결 정보 액세스를 참고하세요. 확인하세요. |
거짓 | 아니요 | ||||||||||||
ClientProperties |
Edge에서 양방향 TLS로 캡처한 클라이언트 인증서 세부정보 캡처를 사용 설정합니다. 그러면 이 정보를 API 프록시에서 흐름 변수로 사용할 수 있습니다. API 프록시에서 TLS 연결 정보 액세스를 참고하세요. 확인하세요. |
거짓 | 아니요 | ||||||||||||
속성 | Edge Cloud 및 Private Cloud 4.17.01 이상에서 사용할 수 있습니다. | ||||||||||||||
proxy_read_timeout |
메시지 프로세서와 라우터 간의 시간 제한 기간을 초 단위로 설정합니다. 이 기간이 만료되기 전에 메시지 프로세서로부터 응답을 받지 못하면 라우터는 연결을 끊고 HTTP 504 응답을 반환합니다. proxy_read_timeout 값은 사용된 대상 제한 시간 값보다 커야 합니다.
전송합니다. 이렇게 하면 메시지 프로세서가 응답을 반환할 시간을 갖기 전에 라우터가 제한 시간 초과되지 않습니다.
메시지 프로세서는
메시지의 |
57 | 아니요 | ||||||||||||
keepalive_timeout |
클라이언트가 연결되었을 때 클라이언트와 라우터 간의 시간 제한 기간(초)을 설정합니다. Keep-Alive 헤더가 포함된 요청을 실행합니다. 라우터가 연결을 열린 상태로 유지 표시됩니다. 라우터가 현재 응답을 기다리고 있는 경우에는 연결을 닫지 않습니다. 전송됩니다. 제한 시간은 라우터가 클라이언트에 응답을 반환한 후에만 시작됩니다. |
65 | 아니요 | ||||||||||||
ssl_ciphers |
라우터에 설정된 기본 암호화 알고리즘을 재정의하여 가상 호스트에서 지원되는 암호화 알고리즘을 설정합니다. 다음 형식의 콜론으로 구분된 암호 목록을 지정합니다. <Property name="ssl_ciphers">HIGH:!aNULL:!MD5:!DH+3DES:!kEDH;</Property> 이 토큰에서 허용하는 구문 및 값에 대한 자세한 내용은 https://www.openssl.org/docs/man1.0.2/man1/ciphers.html을 참조하세요. 이 토큰은 AES128-SHA256과 같은 OpenSSL 암호화 이름을 사용하며 Java/JSSE 암호화 이름(예: TLS_RSA_WITH_AES_128_CBC_SHA256) |
HIGH:!aNULL:
!MD5: !DH+3DES: !kEDH |
아니요 | ||||||||||||
ssl_protocols |
Private Cloud용 Edge에만 사용할 수 있습니다. 가상 호스트에서 지원하는 TLS 프로토콜을 공백으로 구분된 목록으로 설정하여 라우터에 설정된 기본 프로토콜을 재정의합니다. 참고: 두 가상 호스트가 동일한 포트를 공유하는 경우
다음과 같은 형식으로 공백으로 구분된 TLS 프로토콜 목록을 지정합니다. <Property name="ssl_protocols">TLSv1 TLSv1.2</Property> |
TLSv1 TLSv1.1 TLSv1.2 | 아니요 | ||||||||||||
proxy_request_buffering |
요청 본문의 버퍼링을 사용 설정 (사용) 또는 사용 중지 (사용 중지)합니다. 버퍼링이 사용 설정된 경우 라우터는 전체 요청 본문을 메시지 프로세서로 전송하기 전에 버퍼링합니다. 만약 오류가 발생하면 라우터는 다른 메시지 프로세서를 다시 시도할 수 있습니다. 꺼져 있으면 버퍼링이 사용 중지되고 요청 본문이 메시지 프로세서에 전송됩니다. 데이터를 즉시 전송합니다. 오류가 발생하면 라우터는 다른 메시지 프로세서에 보냅니다. |
세션: | 아니요 | ||||||||||||
proxy_buffering | 응답 버퍼링을 사용 설정 (사용 설정) 또는 사용 중지 (사용 중지)합니다. 버퍼링이 사용 설정된 경우 라우터가 응답을 버퍼링합니다. 버퍼링이 사용 중지되면 응답이 클라이언트로 전달됩니다. 동기식으로, 라우터에서 수신하는 즉시 전달됩니다. | 세션: | 아니요 |