node.js - Node.js Fetch 说证书过期
问题描述
我正在使用 Node.js 和 node-fetch 来检索 JSON。这段代码已经工作了一年多,我很长时间没有接触过代码,最近它停止了工作。
这是我的获取代码:
let response = await fetch('https://[mydomain]/api.php', {method: 'POST', headers: headers, body: body});
const data = await response.json();
我没有包含 body 和 header 对象,但它们是在我的 fetch 上方几行定义的。就像我提到的那样,直到几天前这一切都在起作用。
这是我收到的错误:
rejected promise not handled within 1 second: FetchError: request to https://[mydomain]/api.php?reset failed, reason: certificate has expired
/Applications/Visual Studio Code.app/Contents/Resources/app/out/bootstrap-fork.js:5
stack trace: FetchError: request to https://[mydomain]/api.php?reset failed, reason: certificate has expired
该域具有有效的证书。我已经手动检查了它并使用了一些不同的工具来检查它。我正在使用 Open SSL,我更新了 SSL 以防万一。
Node.js 在 VS Code 扩展中运行,但我认为这无关。
知道为什么 Node.js 认为 SSL 已过期吗?或者有没有办法让我忽略这个警告?该扩展主要供我个人使用,API 在我自己的个人服务器上。
解决方案
尝试添加process.env.NODE_TLS_REJECT_UNAUTHORIZED='0'
到您正在初始化请求的文件中。
推荐阅读
- xml - 在自定义 XML 映射文件中为 ContentControl 对象设置 PlaceholderText
- ios - IOS 中的 Resource.designer 等效项
- api - 从 API 获取嵌套值时遇到问题(反应原生)
- android - Android studio 不正确的gradle
- seo - Robot.txt 如何允许以 / 结尾的页面,但禁止 / 之后的所有页面
- python - 使用 Teradata python 库从十进制 (18,6) 中选择返回 NaN
- python - 使用来自 pyudev 的监视器终止 USBdetector 线程
- python-3.x - Python:在处理小部件的数据输入时运行散景服务器
- android - 使用 Room 访问 Android BroadcastReceiver 数据库
- python - python win32com.client outlook.OpenSharedItem 用 %20 替换空格