Ketika saya mencoba menginstal paket dengan npm, itu tidak berhasil. Setelah menunggu lama, saya akhirnya mendapatkan error 'tunneling socket tidak dapat dibuat, 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)
Namun, ketika saya menjelajah ke URL yang sama di browser web saya (Google Chrome) itu memuat dengan baik (lihat catatan kaki). https://registry.npmjs.org/coffee-script
Apa yang salah?
Meskipun saya menggunakan proxy https, saya yakin ini bukan masalahnya. Saya telah mengkonfigurasi variabel lingkungan https_proxy(sesuai panduan pengguna npm ). Saya tahu variabel lingkungan benar, karena pengelola paket Python pipmengikutinya dengan benar.
Saya yakin masalahnya terkait dengan sertifikat SSL, karena jika saya mengunduh URL itu dengan wget, saya mendapatkan kesalahan eksplisit tentang sertifikat
$ 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.
Bagaimana cara memperbaikinya? Tanpa mengorbankan keamanan.
Saya biasanya mendapatkan kesalahan sertifikat SSL di browser web saya juga, sampai saya menginstal sertifikat 'npmCA' sebagai 'otoritas sertifikasi akar tepercaya' di Opsi Internet Panel Kontrol (tangkapan layar
)
Sunting: Saya mencoba solusi yang tidak aman per https://npmjs.org/doc/config.html#strict-ssl
npm set strict-ssl false
Namun masih ada waktu dengan kesalahan yang sama
$ 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