ткань гиперледжер. Вызов транзакции из-за корпоративного http-прокси

Вызывая транзакцию в качестве клиента, мне нужно подключиться к пирам и заказать с помощью grpc.

к сожалению, я не могу получать запросы grpc через прокси-сервер http, определенный в переменных среды «http_proxy» и «https_proxy».

Я работаю с SDK узла ткани.

Я использую библиотеку «fabric-client» v1.2 и пробовал с grpc v 1.6.0 и 1.13.1. Оба потерпели неудачу.

К вашему сведению, подключение к серверу ЦС (через http) перенаправляется на прокси с помощью global-tunnel-ng. Оно работает.


person Philippe Labalette    schedule 31.07.2018    source источник
comment
Какие значения вы устанавливаете для http_proxy и https_proxy? Вы включаете http:// как часть значений?   -  person Gari Singh    schedule 31.07.2018
comment
Да, я устанавливаю ip:port   -  person Philippe Labalette    schedule 31.07.2018
comment
Так вы устанавливаете http://ip:port или только ip:port? Насколько я помню, вам нужно использовать полный URL, включая http://   -  person Gari Singh    schedule 31.07.2018
comment
извините, это ошибка форматирования, которую я сделал. Я устанавливаю http://ip:port   -  person Philippe Labalette    schedule 31.07.2018
comment
Можете ли вы попробовать установить GRPC_TRACE=all и GRPC_VERBOSITY=debug ? Вы можете увидеть что-то в журналах. Вы можете попытаться сузить результаты трассировки, как описано в github.com/ grpc/grpc/blob/master/doc/environment_variables.md   -  person Gari Singh    schedule 31.07.2018
comment
Привет, Гари, спасибо за помощь. Обнаружена проблема: global-tunnel-ng удаляет http_proxy process.envs после его прочтения. Итак, grpc получил пустой http_proxy. Я деактивировал global-tunnel-ng, и теперь он работает!   -  person Philippe Labalette    schedule 01.08.2018
comment
node_modules\global-tunnel-ng\index.js: ` // NB: мы делаем это здесь, чтобы предотвратить двойную обработку прокси (и, например, изменение пути) нами, а модуль request или другие подзависимости удалить process.env[key ];`   -  person Philippe Labalette    schedule 01.08.2018
comment
Ах ... очень интересно .... вы можете опубликовать ответ на свой вопрос   -  person Gari Singh    schedule 01.08.2018
comment
Спасибо за помощь, Гари!!   -  person Philippe Labalette    schedule 02.08.2018


Ответы (1)


Эта проблема была решена. Это произошло из-за пакета «global-tunnel-ng», который удаляет значение http_proxy в process.env после его чтения. Обходной путь — удалить эти строки в node_modules\global-tunnel-ng\index.js:

// NB: we do it here to prevent double proxy handling (and for example path change) 
// by us and the request module or other sub-dependencies 
delete process.env[key];
person Philippe Labalette    schedule 02.08.2018