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


相关推荐
lyw2056197 分钟前
微服务八股(自用)
java·开发语言
dot to one7 分钟前
Qt 中 QWidget涉及的常用核心属性介绍
开发语言·c++·qt
液态不合群15 分钟前
理解 C# 中的各类指针
java·开发语言·c#
橙子1991101624 分钟前
Kotlin 中的作用域函数
android·开发语言·kotlin
zimoyin24 分钟前
Kotlin 懒初始化值
android·开发语言·kotlin
augenstern41630 分钟前
webpack重构优化
前端·webpack·重构
mooyuan天天30 分钟前
upload-labs通关笔记-第3关 文件上传之黑名单绕过
web安全·文件上传·文件上传漏洞·upload-labs靶场
海拥✘33 分钟前
CodeBuddy终极测评:中国版Cursor的开发革命(含安装指南+HTML游戏实战)
前端·游戏·html
黄雪超1 小时前
JVM——方法内联之去虚化
java·开发语言·jvm
h汉堡1 小时前
C/C++内存管理
java·c语言·开发语言·c++·学习