鲍尔呼叫由公司代理封锁

我正在尝试使用Bower作为一个networking应用程序,但是却发现自己遇到了一些代理问题:

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命令的任何调用。 我可以在Fiddler中看到来自NPM命令的调用。
  • 我search了鲍尔的问题清单,看到类似的问题,但他们要么没有解决scheme,或者看起来不像我的一样。

有任何想法吗?

谢谢@ user3259967

这做了这个工作。

我想补充一点,如果你在一个需要authentication的代理之后,你可以把用户名/密码添加到你的.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>/" } 

注意在https-proxy中使用http://

我的解决scheme是这个configuration.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协议中的http协议加上使用http协议的registry项。

请记住将8080端口号更改为您的代理服务器端口。

你是在代理的背后?

你有没有设置环境variablesHTTP_PROXY和HTTPS_PROXY?

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

尝试更改.bowerrc中的registry值:

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

我没有.bowerrc文件来configuration我的凉亭设置。 我发现生活在一个名为defaults.js的文件中。 在“C:\ … \ bower \ node_modules \ bower-config \ lib \ util \ defaults.js ”下find
我希望这可以帮助别人:

 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; 

你可以尝试build议@thebignet在GitHub相同的问题

proxyhttps-proxystrict-sslconfiguration设置为.bowerrc文件:

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

但是你必须从terminal运行命令:

 git config --global url."https://".insteadOf git:// 

对于Win 7

什么对我来说,是在这个链接build议下面的步骤 – 阅读#nanowizard答案。

  1. .bowerrc文件中,删除您之前完成的任何http_proxy / https_proxy设置。 这个很重要。 所以这个文件的最终内容应该是这样的:

     { "directory": "app/bower_components" } 
  2. 在您的PC中设置环境variables – http_proxyhttps_proxy到您的公司防火墙代理。 如果您的公司代理需要身份validation,并且您的密码包含特殊字符,请按照此链接的build议将其转换为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://... 
 "strict-ssl": false 

在.bowerrc为我做

我在企业防火墙后面,我也必须指定域名。 这些答案都没有为我工作。 这是我做的 –

  1. http://cntlm.sourceforge.net/下载了CNTLM
  2. 很明显安装它。
  3. 打开cntml.ini并更改以下内容

    your_domain_name

    用户名your_domain_username

    密码your_domain_passowrd

    PassLM 1AD35398BE6565DDB5C4EF70C0593492(取消注释)

    PassNT 77B9081511704EE852F94227CF48A793(取消注释)

    代理http:// localhost:8888

  4. 转到services.msc并启动CNTLM身份validation服务。

  5. 下载Fiddler 4/2(无论他们叫什么)。
  6. 安装这个。 这将运行在http:// localhost:8888
  7. 现在,无论您正在运行的程序(代理)是http:// locahost:3128 (这就是CNTLM正在运行)。

在这种情况下,请将http.proxy和https.proxy指定为http:// localhost:8888

这将适用于其他客户端程序。 只需指定代理为http:// localhost:8888

它的工作让我改变.bowerrc文件

 {
  “directory”:“client / lib”, 
  “registry”:“http://bower.herokuapp.com”,
  “代理”:“http://192.168.1.205:3228”
  “HTTPS代理”: “http://192.168.1.205:3228”
 }
 { "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. 在login文件夹中的名为.bowerrc的记事本中创build一个文件; 您可以通过在开始>运行>%UserProfile%中键入,然后按OK。
  2. 在.bowerrc文件中input以上代码,并进行以下更改:

    用您的互联网连接用户ID或loginIDreplace<USERNAME>

    用您的互联网连接密码或login密码replace<PASSWORD>
    <PROXY_IP><PROXY_PORT>replace为正在工作的代理IP地址及其端口号。

      **Note: There should be no angle brackets.** 
  3. 代理IP应该与您自己的IP不同。

  4. 在使用任何代理IP和端口之前,您应该通过更改您的代理IP和端口来检查它是否正在工作。

  5. 您可以通过此链接了解代理设置的详细信息

  6. 从这个代理设置你将得到代理IP和端口。
  7. 重新检查所有的input,以便全部正确并保存并closures文件。
  8. 打开git bash,将目录更改为项目文件并键入命令,然后按回车,在我的情况下,git bash命令:

a @ a-PC MINGW32 / d / conFusion

安装$ bower

  1. 它像魔术一样工作。

如果它帮助某人,我有一个“组策略封锁”错误。

解决方法是在CryptoPrevent中创build一个例外,CryptoPrevent是安装在我们公司计算机上的一个应用程序,用于防止encryption锁。

有关信息,在您的.bowerrc文件中,您可以添加一个无代理属性。 我不知道什么时候它被支持,但它在bower 1.7.4上工作,并且它解决了带有内部存储库的公司代理后面的问题

.bowerrc:

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

问候

请确保您的代理密码中没有特殊字符。 将其转换为hex。 这个对我有用。

除了在.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