3 回答
TA贡献1877条经验 获得超1个赞
在您的请求选项中,请尝试包含以下内容:
var req = https.request({
host: '192.168.1.1',
port: 443,
path: '/',
method: 'GET',
rejectUnauthorized: false,
requestCert: true,
agent: false
},
TA贡献1777条经验 获得超3个赞
不要相信所有试图误导你的人。
在您的请求中,只需添加:
ca: [fs.readFileSync([certificate path], {encoding: 'utf-8'})]
如果您打开未经授权的证书,您将完全不受保护(因为没有验证身份而暴露给MITM),并且在没有SSL的情况下工作不会有太大的区别。解决方案是指定您期望的CA证书,如下一个代码段所示。确保证书的公用名与您在请求中调用的地址相同(如主机中指定的):
你将得到的是:
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
},
请阅读这篇文章(披露:本答案作者撰写的博客文章),以便了解:
CA证书的工作原理
如何生成CA Certs以便轻松进行测试以模拟生产环境
添加回答
举报