L'enfer des proxy d'entreprise
Plop, ça faisait longtemps, un petit article pratique pour résoudre ces problèmes de proxy d'entreprise lors du développement dans le monde NodeJS.
Nous allons supposer que notre proxy d'entreprise se situera sur: http://proxy.company.com:8080
Nous allons supposer que notre proxy d'entreprise se situera sur: http://proxy.company.com:8080
Git
Tout d'abord, commençons par Git, qui est utilisé pour rapatrier le code du module NPM / Bower. Pour cela, nous devons préciser le fameux proxy d'entreprise. Mais également préciser que nous ne voulons pas une vérification stricte des certificats SSL. Cela afin de ne pas invalider des modules qui sont hébergés sur des serveurs HTTPS avec un certificat auto-signé par exemple.
git config --global http.proxy http://proxy.company.com:8080
git config --global https.proxy http://proxy.company.com:8080
git config --global http.sslVerify false
git config --global https.sslVerify false
A noter qu'il est possible de préciser d'utiliser plutôt des liens en HTTPS que des liens en Git. Cela peut nous sauver si le proxy bloque les urls commençant par git://
git config --global url."https://".insteadOf git://
NPM / NodeJs
Pour NPM, nous aurons à peu prêt la même chose, à savoir préciser le proxy d'entreprise et désactiver la vérification strict des certificats SSL.
npm config set proxy http://proxy.company.com:8080
npm config set https-proxy http://proxy.company.com:8080
npm config set strict-ssl false
A noter que dans certains cas, en fonction de la version de NPM et de l'autorité de certification présent sur votre poste, vous serez peut-être amener à exécuter les commandes:
npm install npm -g --ca=null
npm config set ca=""
Bower
Ici, nous n'allons pas lancer de commandes, mais éditer le fichier de configuration ".bowerrc" (si vous voulez voir toutes les possibilités de configuration, suivez ce lien) :
{
"proxy": "http://proxy.company.com:8080",
"https-proxy": "https://proxy.company.com:8080",
"strict-ssl": false
}
A noter que cela ne pourra vraiment fonctionner que de projet en projet. Si vous souhaitez résoudre de manière globalement, regarder la section suivante.
Globalement
Dans les trois cas précédant, nous pouvons utiliser deux variables d'environnements qui seront par la suite utilisé lorsque les commandes seront exécutées:
HTTP_PROXY http://proxy.company.com:8080
HTTPS_PROXY http://proxy.company.com:8080
Voilà, j'espère que cela vous sera utile. En règle générale, ça vous sort bien de la situation épineuse des proxy d'entreprises.
Commentaires
Enregistrer un commentaire