74 votes

npm derrière un proxy échoue avec le statut 403

J'essaie d'exécuter npm derrière un proxy. J'ai essayé d'entrer dans le proxy directement ou par l'intermédiaire de Authoxy :

npm config set proxy http://localhost:8999
npm config set https-proxy http://localhost:8999

Quel que soit le proxy que j'utilise, j'obtiens toujours la même erreur lorsque je lance l'application npm search :

npm info it worked if it ends with ok
npm verb cli [ 'node', '/usr/local/bin/npm', 'search' ]
npm info using npm@1.1.45
npm info using node@v0.8.4
npm verb config file /Users/xxx/.npmrc
npm verb config file /usr/local/etc/npmrc
npm verb config file /usr/local/lib/node_modules/npm/npmrc
npm WARN Building the local index for the first time, please be patient
npm verb url raw /-/all
npm verb url resolving [ 'https://registry.npmjs.org/', './-/all' ]
npm verb url resolved https://registry.npmjs.org/-/all
npm info retry registry request attempt 1 at 09:48:47
npm http GET https://registry.npmjs.org/-/all
npm info retry will retry, error on last attempt: Error: tunneling socket could not be established, sutatusCode=403
npm info retry registry request attempt 2 at 09:48:57
npm http GET https://registry.npmjs.org/-/all
npm info retry will retry, error on last attempt: Error: tunneling socket could not be established, sutatusCode=403
npm info retry registry request attempt 3 at 09:49:57
npm http GET https://registry.npmjs.org/-/all
npm ERR! Error: tunneling socket could not be established, sutatusCode=403
npm ERR!     at ClientRequest.onConnect (/usr/local/lib/node_modules/npm/node_modules/request/tunnel.js:148:19)
npm ERR!     at ClientRequest.g (events.js:185:14)
npm ERR!     at ClientRequest.EventEmitter.emit (events.js:115:20)
npm ERR!     at Socket.socketOnData (http.js:1383:11)
npm ERR!     at TCP.onread (net.js:410:27)

La commande échoue toujours avec sutatusCode [sic !] 403 - ce qui signifie non autorisé. J'ai configuré Authoxy pour qu'il ne nécessite pas de nom d'utilisateur/mot de passe. La même erreur se produit lorsque je contourne Authoxy et que je fournis les véritables informations d'identification de notre proxy NTLM sous la forme http:// user:pass@proxy:port.

Comment puis-je faire en sorte que cela fonctionne par le biais du proxy ?

Mise à jour

J'ai créé un problème sur le projet NPM pour signaler ce problème : https://github.com/isaacs/npm/issues/2866

0 votes

Essayez npm config set strict-ssl false

2voto

En raison de violations de la sécurité, les organisations peuvent avoir leurs propres référentiels.

définissez votre répertoire local comme ci-dessous.

npm config set registry https://yourorg-artifactory.com/

J'espère que cela résoudra le problème.

1voto

Marc.S Points 11

Pour ceux qui utilisent Jenkins ou un autre serveur CI : c'est important. vous définissez vos proxies, surtout lorsqu'ils sont différents dans votre environnement de développement local et dans l'environnement CI. Dans ce cas :

  • ne définissez pas les proxies dans le fichier .npmrc du projet. Ou si vous le faites, assurez-vous de remplacer les paramètres sur le serveur CI.
  • tout autre paramètre de proxy pourrait causer 403 Forbidden avec peu d'indices sur le fait que vous utilisez le mauvais proxy. Vérifiez votre gradle.properties ou autre, et corriger/supprimer si nécessaire.

TLDR : définissez les proxies non pas dans le projet mais sur la machine sur laquelle vous travaillez.

1voto

prag Points 11

J'ai eu le même problème et finalement il a été résolu en me déconnectant de tous les VPN.

0voto

tcgumus Points 60

Sur Windows 10, faites

npm config edit

Cela ouvrira le fichier de configuration dans un éditeur de texte. Supprimez toutes les variables proxy définies par l'utilisateur et ne conservez que les valeurs par défaut.

;;;;
; npm userconfig file
; this is a simple ini-formatted file
; lines that start with semi-colons are comments.
; read `npm help config` for help on the various options
;;;;

--->Delete everything proxy settings from here.

;;;;
; all options with default values
;;;;

Fermez et enregistrez. Essayez à nouveau. C'est ce qui a fonctionné pour moi dans mon localhost.

0voto

jim Points 142

Sur windows10, créez ce fichier. Cela a marché pour moi.

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X