Настройка работы через прокси при использовании транспорта HTTP¶
Автор: Владимир Меркулов
Компания: Janet systems
Начиная с ревизии фреймворка r102, при настройке взаимодействия между модулями и/или клиентом iJaNet по протоколу HTTP можно использовать прокси-сервер.
Для этого необходимо в блоке настройки транспорта указать следующие дополнительные параметры:
| Параметр | Тип | Описание |
|---|---|---|
| transport.http.proxyHost | string |
Имя или IP адрес хоста прокси-сервера |
| transport.http.proxyPort | int |
Номер порта прокси-сервера |
| transport.http.proxyUser | string |
Имя пользователя для авторизации |
| transport.http.proxyPassword | string |
Пароль для авторизации |
| transport.http.proxyDomain | string |
Домен для авторизации (требуется для некоторых Microsoft-specific конфигураций) |
- Если параметра
transport.http.proxyHostне задан, то соединение через прокси не используется и остальные параметры не считываются - Если параметра
transport.http.proxyHostзадан, но параметрtransport.http.proxyPortотсутствует, то это приводит к ошибке и блокирует передачу данных - Если параметра
transport.http.proxyUserне задан, то соединение через прокси происходит без авторизации.
Параметр transport.http.proxyDomain поддерживается только в реализации iJaNet V5 Framework для .NET, т.к. там в настройке прокси-соединений он явно предусмотрен. На Java такого параметра не предусмотрено, поэтому задавать его для соединений типа "модуль-модуль" ни на что не влияет.
ВАЖНО: В отличие параметров сериализации, которые не зависят от транспорта передачи данных, параметры прокси-сервера задавать на уровне глобальных параметров модуля нельзя (вернее, это ник чему не приведет). Параметры соединения через прокси работают только в том случае, если они заданы как параметры транспорта внутри какой-либо конкретной ссылки на удаленный модуль. Также очевидно, что настройки работы через прокси имеют смысл только для HTTP-транспорта.
Пример простого использования прокси:
1 <remote-module-ref>
2
3 <transport>
4 <transport-name>http</transport-name>
5 <parameters>
6 <param name="transport.http.url" type="string">http://server.company.com:8080/janet/service</param>
7 <param name="transport.http.proxyHost" type="string">proxy.company.com</param>
8 <param name="transport.http.proxyPort" type="int">3128</param>
9 </parameters>
10 </transport>
11
12 ...(здесь описания прокси-служб)...
13
14 </remote-module-ref>
Пример использования прокси с авторизацией:
1 <remote-module-ref>
2
3 <transport>
4 <transport-name>http</transport-name>
5 <parameters>
6 <param name="transport.http.url" type="string">http://server.company.com:8080/janet/service</param>
7 <param name="transport.http.proxyHost" type="string">proxy.company.com</param>
8 <param name="transport.http.proxyPort" type="int">3128</param>
9 <param name="transport.http.proxyUser" type="string">iivanov</param>
10 <param name="transport.http.proxyPassword" type="string">123456</param>
11 </parameters>
12 </transport>
13
14 ...(здесь описания прокси-служб)...
15
16 </remote-module-ref>