Настройка прямого проксирования

Прямые прокси обеспечивают единую точку, через которую несколько машин отправляют запросы на внешний сервер. Они могут применять политики безопасности, регистрировать и анализировать запросы, а также выполнять другие действия, чтобы запросы соответствовали вашим бизнес-правилам. В Edge прямой прокси-сервер обычно является промежуточным звеном между вашими прокси-серверами API и внешним TargetEndpoint (внутренним целевым сервером).

Чтобы использовать прокси-сервер переадресации HTTP между Edge и TargetEndpoint, необходимо настроить параметры исходящего прокси-сервера в обработчиках сообщений (MP). Эти свойства настраивают MP для маршрутизации целевых запросов от Edge к прокси-серверу пересылки 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 , что означает, что вы можете использовать прямой прокси-сервер на уровне прокси-сервера API, включив соответствующий XML в конфигурацию вашего пакета.

Если вы установите для этого значения значение 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

Указывает имя хоста или IP-адрес, на котором работает прокси-сервер HTTP.

conf/http.properties+HTTPClient.proxy.port

Указывает порт, на котором работает прокси-сервер HTTP. Если это свойство опущено, по умолчанию используется порт 80 для HTTP и порт 443 для HTTPS.

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

Если вы хотите отключить туннелирование для определенной цели, установите свойство use.proxy.tunneling в TargetEndpoint. Если цель использует TLS/SSL, то это свойство игнорируется, и сообщение всегда отправляется через туннель:

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

Чтобы сам Edge действовал как прокси-сервер для пересылки — получая запросы от серверных служб и направляя их в Интернет за пределами предприятия — сначала настройте прокси-сервер API на Edge. Затем серверная служба может сделать запрос к прокси-серверу API, который затем может подключиться к внешним службам.