You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将机密文件上传至Vercel供Next.js应用使用

将.pem密钥上传至Vercel供Next.js使用的方法

步骤1:转换.pem密钥为文本字符串

把.pem文件的完整内容转换成纯文本字符串,可通过命令行读取:

# macOS/Linux
cat path/to/your/key.pem

# Windows(PowerShell)
Get-Content path/to/your/key.pem -Raw

复制输出的全部内容,要包含开头的-----BEGIN PRIVATE KEY-----和结尾的-----END PRIVATE KEY-----。

步骤2:在Vercel控制台添加环境变量

  1. 打开你的Vercel项目,进入Settings -> Environment Variables页面
  2. 点击Add按钮创建新变量:
    • Name:自定义名称,比如PRIVATE_KEY(确保后续代码中对应一致)
    • Value:粘贴刚才复制的.pem完整文本
    • 勾选需要应用的环境(Production、Preview、Development)
  3. 点击Save完成保存

步骤3:在Next.js中使用该密钥

仅能在服务端组件、API路由、Server Actions中使用(客户端组件会暴露密钥,绝对禁止):

示例1:直接传递密钥字符串给SDK

如果依赖库支持直接传入密钥字符串(如JWT库、云服务SDK),可直接调用:

// 服务端组件或API路由中
import jwt from 'jsonwebtoken';

const generateToken = () => {
  const privateKey = process.env.PRIVATE_KEY;
  return jwt.sign({ payload: 'demo' }, privateKey, { algorithm: 'RS256' });
};

示例2:转换为Buffer处理

若需要用Buffer形式处理密钥:

const privateKeyBuffer = Buffer.from(process.env.PRIVATE_KEY, 'utf8');
// 将buffer传入需要文件内容的方法即可

本地开发配置

本地开发时,把相同变量添加到项目根目录的.env.local文件:

PRIVATE_KEY=-----BEGIN PRIVATE KEY-----
your-full-key-content-here
-----END PRIVATE KEY-----

务必把.env.local加入.gitignore,避免提交到Git仓库。

注意事项

  • 禁止在标记'use client'的客户端组件中使用该密钥,否则会被打包到前端代码泄露
  • 粘贴密钥时不要添加多余换行或空格,否则会导致密钥无效
  • Vercel会自动加密存储环境变量,部署时会注入到应用运行环境中

内容的提问来源于stack exchange,提问作者Reno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 15:55:14