Quando provo a installare un pacchetto con npm, non funziona. Dopo una lunga attesa, alla fine ricevo un errore 'Impossibile stabilire il socket di tunneling, sutatusCode = 403'.
$ npm install coffee-script
npm http GET https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/coffee-script
npm ERR! Error: tunneling socket could not be established, sutatusCode=403
npm ERR! at ClientRequest.onConnect (c:\Program Files\nodejs\node_modules\npm\node_modules\request\tunnel.js:148:19)
npm ERR! at ClientRequest.g (events.js:193:14)
npm ERR! at ClientRequest.EventEmitter.emit (events.js:123:20)
npm ERR! at Socket.socketOnData (http.js:1393:11)
npm ERR! at TCP.onread (net.js:403:27)
Tuttavia, quando cerco lo stesso URL nel mio browser web (Google Chrome) si carica correttamente (vedi nota a piè di pagina). https://registry.npmjs.org/coffee-script
Cosa sta succedendo?
Anche se mi capita di utilizzare un proxy https, sono certo che non sia questo il problema. Ho configurato la variabile d'ambiente https_proxy
(secondo la guida per l' utente di npm ). So che la variabile d'ambiente è corretta, perché il gestore di pacchetti Python la pip
segue correttamente.
Credo che il problema riguardi i certificati SSL, perché se scarico quell'URL con wget
, ottengo un errore esplicito sui certificati
$ wget https://registry.npmjs.org/coffee-script
SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = c:/progra~1/wget/etc/wgetrc
--2012-12-17 12:14:07-- https://registry.npmjs.org/coffee-script
Resolving corpproxy... 10.254.215.35
Connecting to corpproxy|10.254.215.35|:8080... connected.
ERROR: cannot verify registry.npmjs.org's certificate, issued by `/C=US/ST=CA/L=Oakland/O=npm/OU=npm Certificate Authority/CN=npmCA/emailAddress=i@izs.me':
Unable to locally verify the issuer's authority.
To connect to registry.npmjs.org insecurely, use `--no-check-certificate'.
Unable to establish SSL connection.
Come posso risolvere questo problema? Senza compromettere la sicurezza.
Ricevo errori di certificato SSL anche nel mio browser web, fino a quando non installavo il certificato "npmCA" come "autorità di certificazione radice attendibile" nelle Opzioni Internet del Pannello di controllo (screenshot )
Modifica: ho provato una soluzione non sicura per https://npmjs.org/doc/config.html#strict-ssl
npm set strict-ssl false
Eppure scade ancora con lo stesso errore
$ npm install coffee-script
npm http GET https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/coffee-script
npm ERR! Error: tunneling socket could not be established, sutatusCode=403