Question

J'ai une VM Ubuntu qui rencontre des difficultés pour se connecter à des sites avec SSL, c'est-à-dire https.Il peut télécharger avec succès des artefacts sur Internet si l'URL commence par http.

npm install téléchargera les dépendances via https.Est-il possible de le télécharger via http?

Était-ce utile?

La solution

Essayez de remplacer le registre par la version http plutôt que par la version https par défaut en utilisant la commande

npm config set registry http://registry.npmjs.org/

Autres conseils

Comme l'a dit conlinf, ce qui suit devrait fonctionner:

npm config set registry http://registry.npmjs.org/

Maintenant, pour ajouter mon mot, vous devriez également considérer que le téléchargement sans SSL permet une attaque de type man-in-the-middle.Il s'agit uniquement d'ajouter un avertissement aux personnes qui liraient le message.

Si vous êtes un développeur solo, il ne devrait pas y avoir beaucoup de problèmes de téléchargement directement dans http, mais si je voulais attaquer une entreprise en utilisant node.js, j'envisagerais de livrer du code malveillant via npm ... Et d'effectuer une telle attaque sans SSLsera beaucoup plus facile.

Après de nombreux essais et erreurs, j'ai trouvé qu'en plus de tout ce qui a été dit ci-dessus, je dois également définir le https-proxy sur la valeur du http proxy.

Le fichier .npmrc de fin ressemble donc à

proxy=http://username:password@proxy.address:port/
https-proxy=http://username:password@proxy.address:port/
strict-ssl=false
registry=http://registry.npmjs.org/

Notez que le proxy et le proxy https sont identiques!

Voir les commentaires sur ce fil pour plus d'informations:

https://github.com/npm/npm/issues/8034

J'ai également exécuté un npm cache clean --force après avoir mis à jour le npmrc pour faire bonne mesure mais je ne suis pas sûr qu'il soit nécessaire.

J'espère que cela vous aidera.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top