Configuring a corporate proxy Permalink to " Configuring a corporate proxy"

When JHipster is used in a company, you probably will need to configure all tools to bypass the corporate proxy.

You can try to configure the HTTP_PROXY and HTTPS_PROXY environment variables or use a tool like Cntlm.

But this probably won’t be enough, so you will need to configure separately all the tools that are used with JHipster.

Introduction Permalink to "Introduction"

Supposing your proxy is defined with:

  • username
  • password
  • host
  • port

The resulting configuration is: http://username:password@host:port

If you use Cntlm, then your configuration would be: 127.0.0.1:3128. Otherwise, follow the next steps to configure each tool individually.

NPM configuration Permalink to "NPM configuration"

Use these commands:

npm config set proxy http://username:password@host:port
npm config set https-proxy http://username:password@host:port

Or you can edit directly your ~/.npmrc file:

proxy=http://username:password@host:port
https-proxy=http://username:password@host:port
https_proxy=http://username:password@host:port

Npm configuration Permalink to "Npm configuration"

Use these commands:

npm config set proxy http://username:password@host:port
npm config set https-proxy http://username:password@host:port

Git configuration Permalink to "Git configuration"

Use these commands:

git config --global http.proxy http://username:password@host:port
git config --global https.proxy http://username:password@host:port

Or you can edit directly your ~/.gitconfig file:

[http]
        proxy = http://username:password@host:port
[https]
        proxy = http://username:password@host:port

Maven configuration Permalink to "Maven configuration"

Edit the proxies session in your ~/.m2/settings.xml file:

<proxies>
    <proxy>
        <id>id</id>
        <active>true</active>
        <protocol>http</protocol>
        <username>username</username>
        <password>password</password>
        <host>host</host>
        <port>port</port>
        <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
    </proxy>
</proxies>

Maven Wrapper Permalink to "Maven Wrapper"

Create a new file .mvn/jvm.config inside the project folder and set the properties accordingly:

-Dhttp.proxyHost=host 
-Dhttp.proxyPort=port 
-Dhttps.proxyHost=host 
-Dhttps.proxyPort=port 
-Dhttp.proxyUser=username 
-Dhttp.proxyPassword=password

Gradle configuration Permalink to "Gradle configuration"

Add the below in your gradle.properties file and in your gradle/wrapper/gradle-wrapper.properties file if you are downloading the wrapper over a proxy

If you want to set these properties globally then add it in USER_HOME/.gradle/gradle.properties file

## Proxy setup
systemProp.proxySet="true"
systemProp.http.keepAlive="true"
systemProp.http.proxyHost=host
systemProp.http.proxyPort=port
systemProp.http.proxyUser=username
systemProp.http.proxyPassword=password
systemProp.http.nonProxyHosts=local.net|some.host.com

systemProp.https.keepAlive="true"
systemProp.https.proxyHost=host
systemProp.https.proxyPort=port
systemProp.https.proxyUser=username
systemProp.https.proxyPassword=password
systemProp.https.nonProxyHosts=local.net|some.host.com
## end of proxy setup

Docker Permalink to "Docker"

Native Docker Permalink to "Native Docker"

Depending on your OS, you have to edit a specific file (/etc/sysconfig/docker or /etc/default/docker).

Then, you have to restart the docker service with: sudo service docker restart.

It will not apply to systemd. See this page from docker to configure the proxy.

Docker with docker-machine Permalink to "Docker with docker-machine"

You can create your docker-machine with:

docker-machine create -d virtualbox \
    --engine-env HTTP_PROXY=http://username:password@host:port \
    --engine-env HTTPS_PROXY=http://username:password@host:port \
    default

Or you can edit the file ~/.docker/machine/machines/default/config.json.