Saya sedang mengerjakan aplikasi kecil yang masuk ke router nirkabel lokal saya (Linksys) tetapi saya mengalami masalah dengan sertifikat ssl yang ditandatangani sendiri oleh router.
Saya berlari wget 192.168.1.1 dan mendapatkan:
ERROR: cannot verify 192.168.1.1's certificate, issued by `/C=US/ST=California/L=Irvine/O=Cisco-Linksys, LLC/OU=Division/CN=Linksys/[email protected]':
Self-signed certificate encountered.
ERROR: certificate common name `Linksys' doesn't match requested host name `192.168.1.1'.
To connect to 192.168.1.1 insecurely, use `--no-check-certificate'.
Dalam node, kesalahan yang ditangkap adalah:
{ [Error: socket hang up] code: 'ECONNRESET' }
Kode sampel saya saat ini adalah:
var req = https.request({
host: '192.168.1.1',
port: 443,
path: '/',
method: 'GET'
}, function(res){
var body = [];
res.on('data', function(data){
body.push(data);
});
res.on('end', function(){
console.log( body.join('') );
});
});
req.end();
req.on('error', function(err){
console.log(err);
});
Bagaimana saya bisa mendapatkan node.js untuk melakukan yang setara dengan "--tidak-periksa-sertifikat"?
node.js
https
ssl-certificate
Geuis
sumber
sumber
Dalam opsi permintaan Anda, coba sertakan yang berikut:
sumber
rejectUnauthorized
opsi dan tidak ada yang lainrejectUnauthorized
cukup baik semuanya ootb. Menggunakan ekstensi kode dalam vs. Lebih baik lagi mengizinkan konfigurasi PEM, saya akan melakukannya nanti ...Jangan percaya semua orang yang mencoba menyesatkan Anda.
Dalam permintaan Anda, tambahkan saja:
Jika Anda mengaktifkan sertifikat yang tidak sah, Anda tidak akan dilindungi sama sekali (terkena MITM karena tidak memvalidasi identitas), dan bekerja tanpa SSL tidak akan ada perbedaan besar. Solusinya adalah menentukan sertifikat CA yang Anda harapkan seperti yang ditunjukkan pada cuplikan berikutnya. Pastikan bahwa nama umum sertifikat identik dengan alamat yang Anda panggil dalam permintaan (Sebagaimana ditentukan dalam host):
Apa yang akan Anda dapatkan adalah:
Silakan baca artikel ini (pengungkapan: posting blog yang ditulis oleh penulis jawaban ini) di sini untuk memahami:
sumber
Tambahkan variabel lingkungan berikut:
misalnya dengan
export
:(dengan penuh terima kasih kepada Juanra)
sumber
webdriver-manager update
Menambahkan ke @Armand jawab:
Jika Anda menggunakan Windows:
Terima kasih kepada: @ weagle08
sumber
Anda juga dapat membuat contoh permintaan dengan opsi default:
sumber
Untuk meteorJS Anda dapat mengatur dengan npmRequestOptions.
sumber
Atau Anda dapat mencoba menambahkan resolusi nama lokal (
hosts
file ditemukan di direktorietc
di sebagian besar sistem operasi, detail berbeda) sesuatu seperti ini:dan selanjutnya
akan bekerja.
sumber
rejectUnauthorized: false