Вызов Bower заблокирован корпоративным прокси
Я пытаюсь использовать Bower для веб-приложения, но обнаруживаю, что сталкиваюсь с некоторыми проблемами прокси:
D:\>bower search jquery
bower retry Request to https://bower.herokuapp.com/packages/search/jquery failed with ECONNRESET, retrying in 1.2s
bower retry Request to https://bower.herokuapp.com/packages/search/jquery failed with ECONNRESET, retrying in 2.5s
bower retry Request to https://bower.herokuapp.com/packages/search/jquery failed with ECONNRESET, retrying in 6.8s
bower retry Request to https://bower.herokuapp.com/packages/search/jquery failed with ECONNRESET, retrying in 15.1s
bower retry Request to https://bower.herokuapp.com/packages/search/jquery failed with ECONNRESET, retrying in 20.3s
bower ECONNRESET Request to https://bower.herokuapp.com/packages/search/jquery failed: tunneling socket could not be established, cause=Parse Error
Соответствующие точки:
- Я могу перейти на https://bower.herokuapp.com/packages/search/jquery, и он возвращает полный ответ json.
- Я могу использовать git для клонирования, используя протокол git://и http (s).
- Я могу использовать NPM напрямую без этих проблем.
- Я попытался использовать Fiddler, чтобы определить, что блокируется, но он не обнаруживает никаких вызовов от команды Bower. Я вижу вызовы команд NPM в Fiddler.
- Я искал список проблем Bower, видел похожие проблемы, но у них либо нет решения, либо это не похоже на мое.
Любые идеи?
Ответы
Ответ 1
Спасибо @user3259967
Это выполнило эту работу.
Я хотел бы добавить, что если вы находитесь за прокси-сервером, который должен быть аутентифицирован, вы можете добавить имя пользователя/пароль в файл .bowerrc.
{
"directory": "library",
"registry": "http://bower.herokuapp.com",
"proxy":"http://<USERNAME>:<PASSWORD>@<PROXY_IP>:<PROXY_PORT>/",
"https-proxy":"http://<USERNAME>:<PASSWORD>@<PROXY_IP>:<PROXY_PORT>/"
}
ИЗВЕЩЕНИЕ использования http:// в https-прокси
Ответ 2
Решение для меня - это config.bowerrc
{
"directory": "vendor",
"registry": "http://bower.herokuapp.com",
"proxy": "http://<user>:<pwd>@proxy.host.br:8080",
"https-proxy": "http://<user>:<pwd>@proxy.host.br:8080",
"strict-ssl": false
}
Использование протокола http в https-proxy и записи реестра с протоколом http.
Не забудьте изменить номер порта 8080 на ваш прокси-сервер.
Ответ 3
Вы за прокси?
Установили ли переменные среды HTTP_PROXY и HTTPS_PROXY?
SET HTTP_PROXY=http://yourproxyserver:yourproxyport
SET HTTPS_PROXY=http://yourproxyserver:yourproxyport
Ответ 4
Попробуйте изменить значение реестра в вашем .bowerrc:
{
"registry": "http://bower.herokuapp.com"
}
Ответ 5
У меня не было файла .bowerrc для настройки параметров настройки. Я нашел настройки, живущие в файле с именем defaults.js. найдено в разделе "C: \...\bower\node_modules\bower-config\lib\util\defaults.js"
Надеюсь, это поможет другим:
var defaults = {
'cwd': process.cwd(),
'directory': 'bower_components',
'registry': 'http://bower.herokuapp.com',
'shorthand-resolver': 'git://github.com/{{owner}}/{{package}}.git',
'tmp': paths.tmp,
'proxy': '<<http://user:[email protected]:port>>', // change proxy here or at the top
'https-proxy': '<<http://user:[email protected]:port>>', // change proxy here or at the top
'timeout': 30000,
'ca': { search: [] },
'strict-ssl': false,
'user-agent': userAgent,
'color': true,
'interactive': null,
'storage': {
packages: path.join(paths.cache, 'packages'),
links: path.join(paths.data, 'links'),
completion: path.join(paths.data, 'completion'),
registry: path.join(paths.cache, 'registry'),
empty: path.join(paths.data, 'empty') // Empty dir, used in GIT_TEMPLATE_DIR among others
}
};
module.exports = defaults;
Ответ 6
вы можете попробовать предложить @thebignet в тот же выпуск на GitHub
Установите proxy
, https-proxy
и strict-ssl
конфигурацию в .bowerrc
Файл:
{
"proxy" : "http://<host>:<port>",
"https-proxy" : "http://<host>:<port>",
"strict-ssl" : false
}
Но необходимо выполнить команду из терминала:
git config --global url."https://".insteadOf git://
Ответ 7
Для Win 7.
Что сработало для меня, ниже шагов, предложенных в этой ссылке - читайте ответ #nanowizard.
-
В файле .bowerrc
удалите все настройки http_proxy/https_proxy, которые
вы могли бы сделать это раньше. Это важно.
Поэтому окончательный контент этого файла должен выглядеть так: -
{
"directory": "app/bower_components"
}
-
Установите переменные среды на вашем компьютере - http_proxy
и https_proxy
на свой корпоративный прокси-сервер. В случае, если ваш корпоративный прокси требует аутентификации, и если ваш пароль содержит специальные символы, преобразуйте его в шестнадцатеричную форму, как предложено this ссылка. Как и в моем случае, экранирование символов с помощью '\' не помогло. Также мне пришлось перезагрузить систему.
Примечание:
http_proxy и https_proxy должны содержать один и тот же адрес прокси, как показано ниже.
http_proxy = http://<user>:<password>@<your company proxy>:<port>
https_proxy= http://<user>:<password>@<your company proxy>:<port> ->Note no 's' in http://...
Ответ 8
"strict-ssl": false
in.bowerrc сделал для меня
Ответ 9
Я за корпоративным брандмауэром, и я должен указать доменное имя.
Ни один из этих ответов не работал у меня. Вот что я сделал -
- Загруженный CNTLM из http://cntlm.sourceforge.net/
- Очевидно, что он установлен.
-
Откройте cntml.ini и измените следующие
Домен your_domain_name
Имя пользователя your_domain_username
Пароль your_domain_passowrd
PassLM 1AD35398BE6565DDB5C4EF70C0593492 (раскомментируйте это)
PassNT 77B9081511704EE852F94227CF48A793 (раскомментируйте это тоже)
Прокси http://localhost:8888
-
Перейдите в services.msc и запустите службу проверки подлинности CNTLM.
- Загрузите Fiddler 4/2 (что бы они ни называли).
- Установите это тоже. Это будет работать в http://localhost:8888
- Теперь любая программа, которую вы выполняете вперед (прокси), - http://locahost:3128 (это то, что работает CNTLM.)
В этом случае укажите http.proxy и https.proxy как http://localhost:8888
Это будет работать для других клиентских программ. Просто укажите прокси как http://localhost:8888
Ответ 10
его работа для меня изменить файл .bowerrc
{
"directory": "client/lib",
"registry": "http://bower.herokuapp.com",
"proxy":"http://192.168.1.205:3228",
"https-proxy":"http://192.168.1.205:3228"
}
- где client/lib - это каталог установки, где вы хотите установить
- и http://192.168.1.205:3228 - ваш прокси-сервер с портом. корпоративный прокси может быть различным в соответствии с ораганизацией.
Ответ 11
{
"directory": "library",
"registry": "http://bower.herokuapp.com",
"proxy":"http://<USERNAME>:<PASSWORD>@<PROXY_IP>:<PROXY_PORT>/",
"https-proxy":"http://<USERNAME>:<PASSWORD>@<PROXY_IP>:<PROXY_PORT>/"
}
Этот код работал у меня. Я использую Win 7 и хром, а также git bash. Здесь нужно кое-что очистить. Это занимает много времени, чтобы найти фактические данные о имени пользователя, пароле, прокси-IP и порту. Я опишу его шаг за шагом, чтобы каждый ученик мог легко понять сообщение:
- Создайте файл в блокноте с именем .bowerrc в папке входа; Вы можете пойти туда, набрав в меню Пуск > Выполнить > % UserProfile% и нажмите OK.
-
Введите код выше в файле .bowerrc со следующими изменениями:
Замените <USERNAME>
идентификатором пользователя вашего интернет-соединения или идентификатором входа в систему
Замените <PASSWORD>
паролем вашего интернет-соединения или паролем для входа.
Замените <PROXY_IP>
и <PROXY_PORT>
рабочим IP-адресом прокси и его номером порта.
**Note: There should be no angle brackets.**
-
IP-адрес прокси должен отличаться от вашего собственного IP-адреса.
-
Прежде чем использовать любой прокси-сервер и порт, вы должны проверить, работает ли он, изменив IP-адрес и порт прокси-сервера.
-
Вы можете просмотреть эту ссылку, чтобы узнать подробности настроек прокси в описание здесь
- Из этих настроек прокси-сервера вы получите прокси-сервер и порт.
- Повторно проверьте все входные данные, чтобы все были правильными, сохраните и закройте файл.
- Откройте git bash и смените каталог на файл проекта и введите команду и нажмите enter, в моем случае, git bash:
a @a-PC MINGW32/d/conFusion
$bower install
- Он работал как магия.
Ответ 12
В случае, если это помогает кому-то, у меня была ошибка "bower blocked by group policy".
Решение должно было сделать исключение в CryptoPrevent, приложении, установленном на наших компьютерах компании, чтобы предотвратить блокировки криптографических сообщений.
Ответ 13
Для информации, в вашем файле .bowerrc вы можете добавить атрибут no-proxy. Я не знаю, с тех пор, когда он поддерживается, но он работает на bower 1.7.4, и он решает проблему беседы за корпоративным прокси с внутренним хранилищем.
.bowerrc:
{
"directory": "bower_components",
"proxy": "http://yourProxy:yourPort",
"https-proxy":"http://yourProxy:yourPort",
"no-proxy":"myserver.mydomain.com"
}
Привет
Ответ 14
Пожалуйста, убедитесь, что в вашем прокси-пароле нет специальных символов. Преобразуйте его в шестнадцатеричный. Это работает для меня.
Ответ 15
В дополнение к настройке ниже прокси в .bowerrc
:
{
"directory": "app/bower_components",
"proxy":"http://<user>:<password>@proxy.company.com:<proxy-port>",
"https-proxy":"http://<user>:<password>@proxy.company.com:<proxy-port>",
"http-proxy":"http://<user>:<password>@proxy.company.com:<proxy-port>",
"strict-ssl": false,
"registry": "http://bower.herokuapp.com"
}
Мне нужно запустить следующие команды, чтобы устранить проблему:
npm cache clean
bower cache clean
bower install