--openssl-legacy-provider is not allowed in NODE_OPTIONS 报错的处理方式

解决方案

  1. Node.js 应用

    • 从 Node.js v17+ 开始,底层升级到 OpenSSL 3.0,可能导致旧代码报错(如 ERR_OSSL_EVP_UNSUPPORTED)。

    • 通过以下命令启用旧算法支持:

      bash 复制代码
      node --openssl-legacy-provider your_script.js
  2. Vue应用

    • 从 Node.js v17+ 开始,底层升级到 OpenSSL 3.0,可能导致旧代码报错(如 ERR_OSSL_EVP_UNSUPPORTED)。

    • 通过以下命令启用旧算法支持:

      json 复制代码
      "scripts": {
          "serve": "set NODE_OPTIONS=--openssl-legacy-provider & vue-cli-service serve",
          "build": "set NODE_OPTIONS=--openssl-legacy-provider & vue-cli-service build",
          "lint": "vue-cli-service lint"
        },

背景知识

OpenSSL 3.0 引入了 Provider(提供者) 机制,将加密算法按功能分成了不同的模块:

  • 默认 Provider:包含符合现代安全标准的算法(如 SHA-2、AES 等)。
  • Legacy Provider:包含旧版或不推荐使用的算法(如 MD5、DES、RIPEMD 等)。
  • FIPS Provider:符合 FIPS 标准的算法。

出于安全考虑,OpenSSL 3.0 默认禁用了一些过时的算法。如果应用程序依赖这些旧算法,需显式启用 legacy provider


相关推荐
李@十一₂⁰17 小时前
HTML 特殊字体符号
前端·html
吠品18 小时前
免费SSL证书自动化申请:DNS代理验证
网络协议·自动化·ssl
小奶包他干奶奶19 小时前
Webpack学习——Loader(文件转换器)
前端·学习·webpack
zy happy20 小时前
若依 vue3 报错:找不到模块“@/api/xxxx/xxxxx”或其相应的类型声明。。Vue 3 can not find mod
前端·javascript·vue.js
tobebetter952720 小时前
How to manage python versions on windows
开发语言·windows·python
潘小安20 小时前
Git Worktree + Claude Code:让你的开发效率翻倍的秘密武器
前端
meichaoWen20 小时前
【Vue3】vue3的全面学习(一)
前端·javascript·学习
世界尽头与你20 小时前
CVE-2022-46463 Harbor public 镜像仓库信息泄露
安全·网络安全·渗透测试
小猪努力学前端21 小时前
在 React + React Router v7 SSR 项目里做多端适配,我踩的两个坑
前端·react.js
9***P33421 小时前
PHP代码覆盖率
开发语言·php·代码覆盖率