【问题标题】:How to ignore self signed certificate in XmlHttpRequest如何忽略 XmlHttpRequest 中的自签名证书
【发布时间】:2018-07-18 23:53:09
【问题描述】:

我正在开发一个用 javascript 编写的项目。我可以看到,对于请求,已经创建了 XMLHttpRequest 对象。

“http”请求运行良好,但“https”请求失败。由于我是在开发环境中调试的,我只想知道如何忽略XmlHttpRequest对象中的自签名证书?

在搜索时我发现了this

httpreq = new ActiveXObject("Msxml2.ServerXMLHTTP.3.0");
httpreq.setOption(2, 13056);

但答案不适用于 Microsoft edge、chorme 等现代浏览器...

我还找到了this,它清楚地表明 setOption() 可用于忽略 ssl 证书。

我可以在代码中看到的一个区别是我使用以下方法创建 httpreq:

httpreq = new xmlhttprequest();//This is for chorme and Firefox

那么有什么方法可以忽略 XmlHttpRequest 中的自签名证书?

【问题讨论】:

    标签: javascript typescript https xmlhttprequest ssl-certificate


    【解决方案1】:

    坏消息:

    没有办法通过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));
            }
        );
    });
    

    我必须这样做来支持RainMachine's (stupid HTTPS only) self signed certificates

    【讨论】:

      【解决方案2】:

      如果您在基于 Chromium 的浏览器上进行开发,您可以使用标志 --ignore-certificate-errors。始终传递--user-data-dir 以防止影响您的主要安全配置文件。仅将其用作最后的手段,并且仅在本地开发期间使用,因为这完全忽略了所有 SSL 错误。 --ignore-certificate-errors 是未记录的标志,可以随时从铬中删除。

      Chromium Linux:

      chromium-browser --ignore-certificate-errors --user-data-dir=~/chromium_dev_session
      

      Chrome 窗口:

      "C:\Program Files\Google\Chrome\Application\chrome.exe" --ignore-certificate-errors --user-data-dir="c:/chrome_dev_session"
      

      【讨论】:

        猜你喜欢
        • 2022-01-03
        • 1970-01-01
        • 2018-07-26
        • 2012-08-30
        • 2016-07-27
        • 2011-01-16
        • 2016-10-01
        • 2017-02-16
        • 1970-01-01
        相关资源
        最近更新 更多