【问题标题】:React Native localhost SSL certificate is InvalidReact Native localhost SSL证书无效
【发布时间】:2020-08-02 08:30:46
【问题描述】:

几周前我使用 Expo 启动了这个 React Native 项目,直到昨天一切都很好。

当我运行expo start 时,我像往常一样得到了 Metro Bundler,然后我单击“在 Web 浏览器中运行”,像往常一样,VS Code 终端提示我输入 localhost 证书的密码。我不知道它是什么,但有一些本地 SSL 签名工具有 this link,我也不知道。即使有这个链接,我也不确定我应该输入什么密码,所以我只是按了 Enter,没有输入任何内容,这就是我现在所处的位置。

我不能再在浏览器中运行我的应用程序了。每当我尝试这样做时,我都会得到:

而且日志只有这个:

PS D:\Projects\GroceryApp\GroceryApp.Web> 展会开始

在 D:\Projects\GroceryApp\GroceryApp.Web 开始项目

Expo DevTools 在http://localhost:19003 运行

在浏览器中打开 DevTools...(按 shift-d 禁用)

确保已创建自动 SSL 证书(您可能需要使用 sudo 重新运行)

在端口 19001 上启动 Metro Bundler。

此环境不支持调试监视模式

调试检查更新版本的 React Native

调试当前版本:0.61.4

debug 未找到发布缓存

debug 未找到发布缓存

在 GitHub 上调试检查新版本

debug 未找到发布缓存

调试将“6d6386b01438c6ef0acd213d304b5839”保存到缓存

debug 未找到发布缓存

debug 未找到发布缓存

调试最新版本:0.60.0

隧道准备就绪。

exp://192.168.0.108:19000

二维码

要使用实时重新加载运行应用,请选择以下之一:

• 在 Android 或 iOS 上的 Expo 客户端中以 @redacted 身份登录。您的项目将自动出现在“项目”标签中。

• 使用 Expo 应用程序 (Android) 或相机应用程序 (iOS) 扫描上面的二维码。

• 对于 Android 模拟器,按 a,或在 web 上运行 w。

• 按 e 以通过电子邮件将链接发送到您的手机。

世博会?显示所有可用命令的列表。

您的项目的日志将显示在下方。按 Ctrl+C 退出。

所以,我尝试按W 强制它,然后我得到了这个:

正在尝试在网络浏览器中打开项目...

(node:15116) UnhandledPromiseRejectionWarning: 错误:证书“D:\Projects\GroceryApp\GroceryApp.Web.expo\web\development\ssl\cert-localhost.pem”无效。

错误:2007E073:BIO 例程:BIO_new_mem_buf:null 参数 在 validateKeyAndCerts (C:\Users\Redacted\AppData\Roaming\npm\node_modules\expo-cli\node_modules@expo\webpack-config\src\addons\withDevServer.ts:26:11) 在 getHttpsConfig (C:\Users\Redacted\AppData\Roaming\npm\node_modules\expo-cli\node_modules@expo\webpack-config\src\addons\withDevServer.ts:62:5) 在 createDevServer (C:\Users\Redacted\AppData\Roaming\npm\node_modules\expo-cli\node_modules@expo\webpack-config\src\addons\withDevServer.ts:191:12) 在 Object.withDevServer (C:\Users\Redacted\AppData\Roaming\npm\node_modules\expo-cli\node_modules@expo\webpack-config\src\addons\withDevServer.ts:101:31) 在对象。 (C:\Users\Redacted\AppData\Roaming\npm\node_modules\expo-cli\node_modules@expo\webpack-config\src\webpack.config.ts:419:21) 在 Generator.next () 在 C:\Users\Redacted\AppData\Roaming\npm\node_modules\expo-cli\node_modules@expo\webpack-config\webpack\webpack.config.js:8:71
在新的承诺 () 在 __awaiter (C:\Users\Redacted\AppData\Roaming\npm\node_modules\expo-cli\node_modules@expo\webpack-config\webpack\webpack.config.js:4:12) 在 Object.default_1 [默认] (C:\Users\Redacted\AppData\Roaming\npm\node_modules\expo-cli\node_modules@expo\webpack-config\webpack\webpack.config.js:87:12) 在 C:\Users\Redacted\AppData\Roaming\npm\node_modules\expo-cli\node_modules@expo\webpack-config\src\index.ts:21:71 在 Generator.next () 在 C:\Users\Redacted\AppData\Roaming\npm\node_modules\expo-cli\node_modules@expo\webpack-config\webpack\index.js:8:71 在新的承诺 () 在 __awaiter (C:\Users\Redacted\AppData\Roaming\npm\node_modules\expo-cli\node_modules@expo\webpack-config\webpack\index.js:4:12)
在 createWebpackConfigAsync (C:\Users\Redacted\AppData\Roaming\npm\node_modules\expo-cli\node_modules@expo\webpack-config\webpack\index.js:26:12)

(node:15116) UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。要在未处理的 Promise 拒绝时终止节点进程,请使用 CLI 标志 --unhandled-rejections=strict(请参阅 https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。 (拒绝编号:6)

(node:15116) [DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。

这是有道理的,因为该文件完全是空的。

抱歉,帖子太长了,我想确保所有日志都在这里。

请帮忙。提前致谢。

【问题讨论】:

  • 我也没有被提示输入密码,我很确定我应该输入我的 windows 密码,但我不知道如何更改它。
  • 我刚开始使用 Expo,但我遇到了同样的症状。在“接受此 CA 证书?”之后,我得到了正确的工作一次。消息。然后我开始收到这些错误。我注意到 cacert-local.pem 文件是 0 字节。
  • 这里也一样。清空 locahost 证书文件,如果你删除它,它只是生成备份,再次清空。我有点失去希望让它在 localhost 上与 https 一起工作(尤其是在此处和官方论坛(forums.expo.io/t/…)上令人惊讶地缺乏答案之后。如果它对您有帮助,您可以在没有 SSL 的情况下使用expo start --no-https 运行它。那就是我一直在使用的。
  • 哦,伙计,谢谢。这将帮助我开始。我希望他们能在我掉进兔子洞太远之前修好它。 (这并不妨碍我做下一件事,即尝试使用放大进行登录。)我感觉有人在某处升级了某些东西,然后断开连接。
  • expo有新版本(3.19.2),稍微好一点。我收到错误消息:“›无法为 HTTPS 自签名 SSL 证书。退回到不安全的 https。您可以使用 --no-https 重新运行以禁用 HTTPS,或删除 .expo 文件夹并重试。”删除 .expo 没有帮助,但如果我接受它的伪造证书,我认为它可以工作。

标签: node.js react-native ssl expo


【解决方案1】:

我建议升级到较新版本的 expo 并重新运行。

【讨论】:

    猜你喜欢
    • 2021-06-11
    • 2015-09-23
    • 2020-06-26
    • 2021-07-13
    • 1970-01-01
    • 1970-01-01
    • 2014-06-13
    • 2018-08-19
    • 2011-04-10
    相关资源
    最近更新 更多