美文网首页
Error: Hostname/IP doesn't m

Error: Hostname/IP doesn't m

作者: gzgogo | 来源:发表于2018-06-04 20:24 被阅读1256次

    用node做代理,向第三方https接口请求数据时,有时会遇到Error: Hostname/IP doesn't match certificate's altnames错误,有两种解决方法可以跳过验证,但有安全风险,请慎重使用:

    方案 1

    在向第三方发起请求的文件顶部加上下面这句代码:

    process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
    

    方案 2

    请求时设置rejectUnauthorized: false

    // axios
    var axios = require('axios');
    
    // At instance level
    const instance = axios.create({
      httpsAgent: new https.Agent({  
        rejectUnauthorized: false
      })
    });
    instance.get('https://something.com/foo');
    
    // At request level
    const agent = new https.Agent({  
      rejectUnauthorized: false
    });
    axios.get('https://something.com/foo', { httpsAgent: agent });
    
    // request
    var request = require('request');
    
    request({
       url: config.get('host') +req.originalUrl,
       method: req.method,
       rejectUnauthorized: false
    })
    .then(function ($) {
      // Process html like you would with jQuery...
    })
    .catch(function (err) {
      // Crawling failed or Cheerio choked...
    });
    

    参考

    How to ignore SSL issues
    Node.js Hostname/IP doesn't match certificate's altnames

    相关文章

      网友评论

          本文标题:Error: Hostname/IP doesn't m

          本文链接:https://www.haomeiwen.com/subject/uoaysftx.html