Прокси-серверы пересылки предоставляют единую точку, через которую несколько компьютеров отправляют запросы на внешний сервер. Они могут применять политики безопасности, регистрировать и анализировать запросы, а также выполнять другие действия, чтобы запросы соответствовали вашим бизнес-правилам. В Edge прямой прокси-сервер обычно является промежуточным звеном между вашими прокси-серверами API и внешней TargetEndpoint (внутренним целевым сервером).
Чтобы использовать прокси-сервер пересылки HTTP между Edge и TargetEndpoint, необходимо настроить параметры исходящего прокси-сервера на процессорах сообщений (MP). Эти свойства настраивают MP для маршрутизации целевых запросов от Edge к прокси-серверу пересылки HTTP.
Чтобы настроить MP для переадресации прокси:
- На MP отредактируйте следующий файл:
/opt/apigee/customer/application/message-processor.properties
Если файл
message-processor.properties
не существует, создайте его. - Отредактируйте файл, чтобы установить свойства, связанные с прокси, описанные в таблице ниже.
- Убедитесь, что файл свойств принадлежит пользователю apigee:
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Сохраните изменения в файле свойств.
- Перезапустите MP, как показано в следующем примере:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
В следующей таблице описаны свойства файла message-processor.properties
, которые вы используете для настройки MP для прямого прокси-сервера на внутренний сервер:
Свойство | Описание |
---|---|
conf_http_HTTPClient.use.proxy | Разрешает использование прямого прокси. Значение по умолчанию — Если вы установите для этого значения значение |
conf_http_HTTPClient.use.tunneling | По умолчанию Edge использует туннелирование для всего трафика. Чтобы отключить туннелирование по умолчанию, установите для этого свойства значение «false». |
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, который затем сможет подключиться к внешним службам.