전달 프록시 구성

전달 프록시는 여러 머신이 외부 서버에 요청을 보내는 단일 지점을 제공합니다. 보안 정책을 적용하고, 요청을 로깅 및 분석하고, 요청이 비즈니스 규칙을 준수하도록 다른 작업을 수행할 수 있습니다. Edge를 사용하면 정방향 프록시는 일반적으로 API 프록시와 외부 TargetEndpoint (백엔드 대상 서버)를 연결합니다.

Edge와 TargetEndpoint 간에 HTTP 전달 프록시를 사용하려면 아웃바운드 프록시 설정을 관리합니다. 이러한 속성은 에지에서 HTTP 전달 프록시로 대상 요청을 라우팅합니다

전달 프록시를 위해 MP를 구성하려면 다음 단계를 따르세요.

  1. MP에서 다음 파일을 수정합니다.
    /opt/apigee/customer/application/message-processor.properties

    message-processor.properties 파일이 없으면 이 파일을 만듭니다.

  2. 파일을 수정하여 아래 표에 설명된 프록시 관련 속성을 설정합니다.
  3. 속성 파일이 'Apigee'의 소유인지 확인하세요. 사용자:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  4. 변경사항을 속성 파일에 저장합니다.
  5. 다음 예와 같이 MP를 다시 시작합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

다음 표는 message-processor.properties의 속성을 설명합니다. 이 파일은 백엔드 서버로의 전달 프록시를 위해 MP를 구성하는 데 사용할 수 있습니다.

속성 설명
conf_http_HTTPClient.use.proxy

전달 프록시 사용을 허용합니다. 기본값은 true이며 번들 구성

이 값을 false로 설정하면 정방향 프록시를 사용할 수 없습니다.

conf_http_HTTPClient.use.tunneling

기본적으로 Edge는 모든 트래픽에 터널링을 사용합니다. 기본적으로 터널링을 사용 중지하려면 이 속성을 'false'로 설정합니다.

use.proxy.host.header.with.target.uri

대상 호스트와 포트를 Host 헤더로 설정합니다. 기본적으로 프록시는 호스트 및 포트 Host 헤더로 설정됩니다. 이 속성은 대상 엔드포인트 예를 들면 다음과 같습니다.

<HTTPTargetConnection>
    <Properties>
        <Property name="use.proxy.host.
         header.with.target.uri">true
        </Property>
    </Properties>
    <URL>https://mocktarget.apigee.net/
     my-target</URL>
</HTTPTargetConnection>
conf/http.properties+HTTPClient.proxy.type

HTTP 프록시의 유형을 HTTP 또는 HTTPS로 지정합니다. 기본적으로 'HTTP'를 사용합니다.

conf/http.properties+HTTPClient.proxy.host

HTTP 프록시가 실행되는 호스트 이름 또는 IP 주소를 지정합니다.

conf/http.properties+HTTPClient.proxy.port

HTTP 프록시가 실행 중인 포트를 지정합니다. 이 속성을 생략하면 기본적으로 HTTP에는 포트 80을, HTTPS에는 포트 443을 사용합니다.

conf/http.properties+HTTPClient.proxy.user
conf/http.properties+HTTPClient.proxy.password

HTTP 프록시에 기본 인증이 필요한 경우 이 속성을 사용하여 승인 세부정보

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

conf_http_HTTPClient.use.proxy=true
conf_http_HTTPClient.use.tunneling=false
conf/http.properties+HTTPClient.proxy.type=HTTP
conf/http.properties+HTTPClient.proxy.host=my.host.com
conf/http.properties+HTTPClient.proxy.port=3128
conf/http.properties+HTTPClient.proxy.user=USERNAME
conf/http.properties+HTTPClient.proxy.password=PASSWORD

MP에 정방향 프록시가 구성된 경우 API에서 이동하는 모든 트래픽 백엔드 대상에 대한 프록시는 지정된 HTTP 전달 프록시를 통과합니다. API 프록시의 특정 대상의 트래픽을 전달 프록시를 우회하여 백엔드 대상으로 직접 전달해야 하는 경우 TargetEndpoint에 다음 속성을 설정하여 HTTP 전달 프록시를 재정의합니다.

<Property name="use.proxy">false</Property>

대상 엔드포인트에 대한 연결을 구성하는 방법 등 TargetEndpoint 속성 설정에 대한 자세한 내용은 엔드포인트 속성 참조를 참조하세요.

기본적으로 모든 대상에 대해 정방향 프록시를 사용하지 않으려면 message-processor.properties 파일:

conf_http_HTTPClient.use.proxy=false

그런 다음 use.proxy를 'true'로 설정합니다. 모든 TargetEndpoint를 보여줍니다. HTTP 전달 프록시:

<Property name="use.proxy">true</Property>

기본적으로 Edge는 프록시로 가는 트래픽에 터널링을 사용합니다. 기본적으로 터널링을 사용 중지하려면 message-processor.properties 파일에서 다음 속성을 설정합니다.

conf_http_HTTPClient.use.tunneling=false

특정 대상에 대해 터널링을 비활성화하려면 TargetEndpoint의 use.proxy.tunneling 속성 대상에서 TLS/SSL을 사용하는 경우 그러면 이 속성이 무시되고 메시지가 항상 터널을 통해 전송됩니다.

<Property name="use.proxy.tunneling">false</Property>

Edge 자체가 전달 프록시 역할을 하도록 하여 백엔드 서비스에서 요청을 수신하고 엔터프라이즈 외부의 인터넷으로 라우팅해야 합니다. 먼저 Edge에 API 프록시를 설정합니다. 이 그러면 백엔드 서비스가 API 프록시에 요청을 한 다음 제공합니다