--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


相关推荐
一只废狗狗狗狗狗狗狗狗狗4 分钟前
c语言速通复习
c语言·开发语言
程序员Ctrl喵6 分钟前
Flutter 第三阶段:基础 Widget 全面指南
开发语言·javascript·flutter
我就是马云飞6 分钟前
停更5年后,我为什么重新开始写技术内容了
android·前端·程序员
计算机安禾9 分钟前
【数据结构与算法】第31篇:排序概述与插入排序
c语言·开发语言·数据结构·学习·算法·重构·排序算法
xyx-3v10 分钟前
C++构造函数、析构函数与拷贝控制深度解析
开发语言·c++
Larry_Yanan13 分钟前
Qt+OpenCV(一)环境搭建
开发语言·c++·qt·opencv·学习
品克缤14 分钟前
Vue3 + Router 页面切换时滚动条闪烁问题记录
前端·javascript·css·vue.js
前端老石人16 分钟前
文本级语义与变更标记
前端·html
独特的螺狮粉19 分钟前
开源鸿蒙跨平台Flutter开发:微波射频阻抗匹配系统-极坐标史密斯圆图与天线信号渲染架构
开发语言·flutter·华为·架构·开源·harmonyos
冰暮流星19 分钟前
javascript之dom方法访问内容
开发语言·前端·javascript