3 回答

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊
在您的請(qǐng)求選項(xiàng)中,請(qǐng)嘗試包含以下內(nèi)容:
var req = https.request({
host: '192.168.1.1',
port: 443,
path: '/',
method: 'GET',
rejectUnauthorized: false,
requestCert: true,
agent: false
},

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超3個(gè)贊
不要相信所有試圖誤導(dǎo)你的人。
在您的請(qǐng)求中,只需添加:
ca: [fs.readFileSync([certificate path], {encoding: 'utf-8'})]
如果您打開(kāi)未經(jīng)授權(quán)的證書(shū),您將完全不受保護(hù)(因?yàn)闆](méi)有驗(yàn)證身份而暴露給MITM),并且在沒(méi)有SSL的情況下工作不會(huì)有太大的區(qū)別。解決方案是指定您期望的CA證書(shū),如下一個(gè)代碼段所示。確保證書(shū)的公用名與您在請(qǐng)求中調(diào)用的地址相同(如主機(jī)中指定的):
你將得到的是:
var req = https.request({
host: '192.168.1.1',
port: 443,
path: '/',
ca: [fs.readFileSync([certificate path], {encoding: 'utf-8'})],
method: 'GET',
rejectUnauthorized: true,
requestCert: true,
agent: false
},
請(qǐng)閱讀這篇文章(披露:本答案作者撰寫(xiě)的博客文章),以便了解:
CA證書(shū)的工作原理
如何生成CA Certs以便輕松進(jìn)行測(cè)試以模擬生產(chǎn)環(huán)境
添加回答
舉報(bào)