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

Node.js https模块报error:0480006C:PEM routines::no start line错误

问题根源与解决方法

核心错误

你完全搞反了SSL证书和私钥的配置映射:

  • .env 里的 SSL_KEY 错误指向了证书链文件 fullchain.pem,但Node.js的https模块要求key参数传入私钥文件(即privkey.pem)
  • SSL_CERT 错误指向了私钥文件 privkey.pem,但cert参数需要传入证书链文件(即fullchain.pem)

这个映射错误直接导致PEM解析失败,抛出error:0480006C:PEM routines::no start line报错。

修复步骤

  1. 修正.env配置

    # 正确的变量映射
    SSL_KEY=./path/to/privkey.pem
    SSL_CERT=./path/to/fullchain.pem
    
  2. 正确的Express HTTPS服务器配置代码

    const express = require('express');
    const https = require('https');
    const fs = require('fs');
    require('dotenv').config();
    
    const app = express();
    
    // 读取证书与私钥
    const options = {
      key: fs.readFileSync(process.env.SSL_KEY, 'utf8'),
      cert: fs.readFileSync(process.env.SSL_CERT, 'utf8')
    };
    
    // 启动HTTPS服务器
    https.createServer(options, app).listen(443, () => {
      console.log('HTTPS server running on port 443');
    });
    

额外排查点

  • 确认文件路径是相对于项目根目录的正确路径,或者使用绝对路径
  • 检查PEM文件是否存在多余的空白行、换行符,或者头部/尾部是否被意外修改(比如-----BEGIN PRIVATE KEY-----和-----END PRIVATE KEY-----必须完整)
  • 确保Node.js进程有读取这两个文件的权限(比如Linux下不要用root权限运行,但要保证文件权限为644)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 12:00:59