This was surprisingly time consuming to have all those function properly behind the proxy. Two important tricks that makes things works were:

  1. Drop SSL/TLS from registries endpoints (I assume you're aware of consequences when doing such thing)
  2. Do not pass domain name to proxy - only user name.

So here is a steps how this done (mainly for myself).


  1. Close all instances of Visual Studio (the configuration file is updated when you close it, so settings will be overridden)
  2. Open %APPDATA%\NuGet\NuGet.Config
  3. Under configuration\packageRestore add a new key http_proxy with the following value: http://[USER WITHOUT DOMAIN]:[PASSWORD]@[IP OF PROXY]:[PORT]

Here is an example of configuration file:

<?xml version="1.0" encoding="utf-8"?>
    <add key="enabled" value="True" />
    <add key="automatic" value="True" />
	<add key="http_proxy" value="http://myaccount:mypassword@" />


  1. Open %HOMEPATH%\.npmrc
  2. Add/replace the following:


  1. Open %HOMEPATH%\.bowerrc
  2. Add/replace the following:
  "registry": {
    "search": [


  1. Open %HOMEPATH%\.gitconfig
  2. Add the following:
[url "http://"]
	insteadOf = https://	
	proxy = http://myaccount:mypassword@
	sslverify = false

In some cases bower will still fail and JSPM as well, since git protocol is also may be blocked. To fix it, add additional block to the same file:

[url "https://"]
	insteadOf = git://