Pra*_*eep 8 javascript https xmlhttprequest ssl-certificate typescript
我正在开发一个用 javascript 编写的项目。我可以看到,对于请求,已经创建了 XMLHttpRequest 对象。
它对“http”请求工作正常,但对“https”请求失败。由于我在开发环境中调试它,我只想知道如何忽略XmlHttpRequest
对象中的自签名证书?
在搜索时我发现了这个,
httpreq = new ActiveXObject("Msxml2.ServerXMLHTTP.3.0");
httpreq.setOption(2, 13056);
Run Code Online (Sandbox Code Playgroud)
但答案不适用于现代浏览器,如 Microsoft edge、chorme...
我也发现了这个,它清楚地表明 setOption() 可用于忽略 ssl 证书。
我在代码中可以看到的一个区别是我使用以下命令创建了 httpreq:
httpreq = new xmlhttprequest();//This is for chorme and Firefox
Run Code Online (Sandbox Code Playgroud)
那么有什么方法可以忽略 XmlHttpRequest 中的自签名证书吗?
坏消息:
无法直接使用XmlHttpRequest 来完成此操作。这是合乎逻辑的,因为 SSL 需要在网络上保持安全,因为任何禁用它的能力都会带来重大的安全风险。
您也是对的,这setOption
不是 XmlHttpRequest 下的标准/现代方法。
好消息:
您可以做的是通过受信任/正确配置的代理来完成此操作,下面的示例作为配置为允许不安全的 SSL 连接的 Node/Express 服务器:
$router.get("/", (oRequest, oResponse) => {
$nonStrictSSLRequest = require('request').defaults({strictSSL: false});
$nonStrictSSLRequest(
{ url: "https://192.168.1.2:8080/api/apiVer" },
function (err, oAPIResponse, sBody) {
oResponse.status(200).json(JSON.parse(sBody));
}
);
});
Run Code Online (Sandbox Code Playgroud)
我必须这样做才能支持RainMachine 的(仅愚蠢的 HTTPS)自签名证书。
归档时间: |
|
查看次数: |
4686 次 |
最近记录: |