Бауэр называет заблокирован корпоративный прокси


Я пытаюсь использовать 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 напрямую без этих проблем
  • Я пробовал использовать скрипач, чтобы определить, что блокируется, но он не обнаруживает никаких вызовов от команды Bower. Я вижу вызовы из команд NPM в Fiddler.
  • Я искал список проблем Bower, видел похожие проблемы, но у них либо нет решения, либо он не кажется таким же, как у меня.

какие идеи?

15 77

15 ответов:

спасибо @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-proxy

решение для меня этот конфиг .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 plus с протоколом http.

Не забудьте изменить номер порта 8080 на любой ваш прокси-сервер порт.

вы за прокси?

вы настроили переменные среды HTTP_PROXY и HTTPS_PROXY?

SET HTTP_PROXY=http://yourproxyserver:yourproxyport
SET HTTPS_PROXY=http://yourproxyserver:yourproxyport

попробуйте изменить значение реестра в вашей .bowerrc:

{
    "registry": "http://bower.herokuapp.com"
}

У меня не было .файл bowerrc для настройки моих настроек bower. Я нашел настройки, живущие в файле под названием по умолчанию.js. найдено под " C:\...\беседки\папки node_modules\Бауэр-конфиг\Либ\утиль\по умолчанию.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:pass@proxy:port>>',  // change proxy here or at the top
    'https-proxy': '<<http://user:pass@proxy: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;

вы можете попробовать предложить @thebignet в тот же вопрос GitHub

Set proxy,https-proxy и strict-ssl настройка в .bowerrc File:

{
  "proxy"       : "http://<host>:<port>",
  "https-proxy" : "http://<host>:<port>",
  "strict-ssl"  : false
} 

но вы должны выполнить команду из терминала:

git config --global url."https://".insteadOf git://
"strict-ssl": false

in .bowerrc сделал для меня

на Win 7.

что работало для меня, ниже шаги, как предложено на этой ссылка-читать #nanowizard ответ.

  1. на .bowerrc file, удалите все настройки http_proxy / https_proxy, которые вы могли бы сделать это и раньше. Это очень важно. Поэтому окончательное содержание этого файла должно выглядеть так: -

    {
      "directory": "app/bower_components" 
    }
    
  2. установите переменные среды на вашем ПК -http_proxy и https_proxy к вашему корпоративному прокси-брандмауэр. В случае, если ваш корпоративный прокси требует аутентификации и если ваш пароль содержит специальные символы, преобразовать его в hex виде как было предложено этой ссылка. Как и в моем случае побег символов с '\' не помог. Также мне пришлось перезагрузить систему.

Примечание. : 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://...

Я за корпоративным брандмауэром, и я должен указать доменное имя тоже. Ни один из этих ответов не работал для меня. Вот что я сделал -

  1. скачал CNTLM из http://cntlm.sourceforge.net/
  2. очевидно, что установил его.
  3. откройте cntml.ini и измените следующие

    домен your_domain_name

    имя пользователя your_domain_username

    пароль your_domain_passowrd

    PassLM 1AD35398BE6565DDB5C4EF70C0593492 (раскомментируйте это)

    PassNT 77B9081511704EE852F94227CF48A793 (раскомментируйте это тоже)

    Прокси http://localhost:8888

  4. перейти к службам.msc и запустите службу проверки подлинности CNTLM.

  5. скачать Fiddler 4/2 (как бы они это ни называли).
  6. установите это тоже. Это будет работать в http://localhost:8888
  7. Теперь любая программа, которую вы запускаете вперед (прокси) это http://locahost:3128 (это то, что CNTLM работает.)

в этом случае укажите http.прокси и HTTPS.прокси как http://localhost:8888

Это будет работать для других клиентских программ. Просто укажите прокси как http://localhost:8888

его работа для меня изменение .bowerrc file

{
 "directory": "client/lib", 
 "registry": "http://bower.herokuapp.com",
 "proxy":"http://192.168.1.205:3228",
 "https-proxy":"http://192.168.1.205:3228"
}
  • где клиент / lib-каталог установки, где вы хотите установить
  • и http://192.168.1.205:3228 это ваш прокси-ip с портом. корпоративный прокси может отличаться в зависимости от организации.

В дополнение к установке ниже прокси в .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
{
  "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 и chrome, а также git bash. Вот несколько вещей, которые должны быть очищены. Это занимает у меня огромное время, чтобы найти фактические данные, касающиеся имени пользователя, пароля, прокси-IP и порта. Я опишу его шаг за шагом, чтобы каждый ученик мог легко понять сообщение:

  1. создать файл в блокноте с именем .bowerrc в папке входа; вы можете перейти туда, введя в меню Пуск>Выполнить>%UserProfile% и нажмите ЛАДНО.
  2. введите выше код в поле .bowerrc файл со следующими изменениями:

    заменить <USERNAME> С вашим ID пользователя подключения к интернету или ID входа

    заменить <PASSWORD> С помощью пароля для подключения к интернету или пароля для входа в систему.
    Заменить <PROXY_IP> и <PROXY_PORT> С рабочим IP-адресом прокси и его номером порта.

       **Note: There should be no angle brackets.**
    
  3. Прокси-IP должен отличаться от вашего собственного IP.

  4. перед через любой прокси IP и порт вы должны проверить его работоспособность путем смены прокси IP и порт.

  5. вы можете перейти по этой ссылке, чтобы узнать подробности настроек прокси-сервера в описание здесь

  6. из этих настроек прокси вы получите Прокси IP и порт.
  7. перепроверьте все входные данные, чтобы все были правильными и сохраните и закройте файл.
  8. откройте git bash и измените каталог на файл проекта и введите команду и нажмите enter, в моем случае, Git bash command:

a@a-PC MINGW32/d / путаница

$ bower install

  1. это сработало как по волшебству.

в случае, если это кому-то поможет, у меня была ошибка "bower blocked by group policy".

решение состояло в том, чтобы сделать исключение в CryptoPrevent, приложение, установленное на компьютерах нашей компании, чтобы предотвратить крипто шкафчики.

для информации, в вашем .файл bowerrc можно добавить атрибут no-proxy. Я не знаю, с каких пор он поддерживается, но он работает на bower 1.7.4 и решает проблему bower за корпоративным прокси с внутренним репозиторием

.bowerrc :

{
  "directory": "bower_components", 
  "proxy": "http://yourProxy:yourPort",
  "https-proxy":"http://yourProxy:yourPort",
  "no-proxy":"myserver.mydomain.com"
}

в отношении

пожалуйста, убедитесь, что в вашем пароле прокси нет специальных символов. Преобразовать его в hex. Это работает на меня.