Nodejs Fetch API: 无法验证第一个证书

Nodejs Fetch API: unable to verify the first certificate

我在我的 Philips Hue 项目中使用 fetch API 模块,当我调用本地 IP 地址(我的集线器)时,它会在标题中产生该错误。

const fetch = require('node-fetch');
const gateway = "192.168.0.12";
const username = "username";

let getLights = function(){
    fetch(`https://${gateway}/api/${username}/lights`, {
        method: 'GET'
    }).then((res) => {
        return res.json();
    }).then((json) => {
        console.log(json);
    });
}


module.exports = {getLights};

这个问题的任何安全修复最终都会进入 public 互联网,让我可以从任何地方访问我的灯吗?

您似乎尝试使用 HTTPS 访问它。在您的本地网络上很可能是 HTTP

因此,将 https://${gateway}/api/${username}/lights 更改为 http://${gateway}/api/${username}/lights 应该可行。

如果您尝试保持 HTTPS,则必须在您的网络上安装 SSL 证书颁发机构。
如果您想要完成这项工作,这些可能是有用的资源:

https://www.freecodecamp.org/news/how-to-get-https-working-on-your-local-development-environment-in-5-minutes-7af615770eec/

https://letsencrypt.org/docs/certificates-for-localhost/

要跳过 SSL 测试,您可以使用:

process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = 0;