React本地运行 报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE 的解决办法
2023-06-05 07:13:10
在 React 本地开发中解决“UNABLE_TO_VERIFY_LEAF_SIGNATURE”错误
在 React 的本地开发之旅中,“UNABLE_TO_VERIFY_LEAF_SIGNATURE”错误宛如一块绊脚石,阻碍我们项目的顺利启动。但别担心,这篇指南将化身你的引路人,带领你踏上解决之道,扫清障碍,畅通无阻地开启你的开发之旅。
错误的根源
这个恼人的错误源自 Create React App (CRA),React 的开发环境,它使用自签名的证书来保障本地开发环境的安全。然而,某些操作系统和安全软件可能会对自签名证书发出质疑,将其视为不法之徒,从而引发这个错误。
解决方案宝典
为了消除这个错误,你可以尝试以下妙招:
-
安全软件体检: 审视你的操作系统和安全软件设置,确保它们没有对自签名证书亮起红灯。如果发现有,请尝试将 CRA 的证书加入白名单,化干戈为玉帛。
-
HTTPS 的拥抱: 在启动 React 项目时,让 HTTPS 协议成为你的盟友,取代 HTTP。这可以通过在“package.json”文件中添加“https”字段来实现,为你的项目披上安全的盔甲。
-
自签名证书的妙用: 如果上述方法难解燃眉之急,那么自签名证书可以成为你的救星。使用“openssl”命令生成自签名证书,然后将其添加到 CRA 的证书存储中,让你的项目得到安全保障。
示例代码锦囊
以下代码示例将助你一臂之力,顺利解决“UNABLE_TO_VERIFY_LEAF_SIGNATURE”错误:
// 安全软件设置检查
// Windows:
certmgr.msc
// macOS:
Security & Privacy -> General -> Allow apps downloaded from: Anywhere
// 添加证书到白名单
// Windows:
certmgr.msc -> Trusted Root Certification Authorities -> Certificates -> Import
// macOS:
Security & Privacy -> General -> Allow apps downloaded from: Anywhere -> Add...
// 使用 HTTPS 协议
"scripts": {
"start": "react-scripts start --https"
}
// 使用自签名证书
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem
mkdir -p ~/.react-scripts/ssl
cp key.pem ~/.react-scripts/ssl/key.pem
cp cert.pem ~/.react-scripts/ssl/cert.pem
注意事项
使用自签名证书时,你可能会遇到安全警告。这是因为自签名证书并非由受信任的证书颁发机构颁发的。面对警告,你可以选择置之不理或点击“继续”来安装证书。
结尾感言
“UNABLE_TO_VERIFY_LEAF_SIGNATURE”错误就像开发道路上的一块小绊脚石,但只要你掌握了应对之策,便能轻松跨越。通过检查安全软件设置、使用 HTTPS 协议或运用自签名证书,你就能化解错误,让你的 React 项目顺利起航。
常见问题解答
- 这个错误为什么会出现?
原因在于 CRA 使用的自签名证书可能会被操作系统和安全软件视为不安全。
- 如何检查安全软件设置?
具体步骤因操作系统而异,请参考上文中的示例代码。
- 使用自签名证书安全吗?
自签名证书不会得到受信任的证书颁发机构的背书,因此可能会触发安全警告。不过,你可以在本地开发环境中使用它们。
- 是否还有其他解决办法?
可以尝试禁用 SSL 验证或使用第三方证书颁发机构颁发的证书。
- 如果错误仍然存在,怎么办?
尝试更新 React 和 CRA 的版本,或在开发环境中使用不同的网络。