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

Next.js本地请求Strapi时出现SSL错误求助

解决Next.js请求Strapi时的SSL版本错误

错误核心原因

这个write EPROTO 12500:error:1408F10B:SSL routines:ssl3_get_record:wrong version number错误,本质是Next.js客户端试图用HTTPS协议请求仅提供HTTP服务的本地Strapi实例。本地Strapi默认运行在http://localhost:1337,没有配置SSL证书,HTTPS请求会因协议不匹配导致SSL握手失败。

具体修复步骤

  • 检查请求协议:所有调用Strapi的请求必须用http://localhost:1337,而非https://。比如fetch请求:
    // 正确写法
    fetch('http://localhost:1337/api/posts')
    // 错误写法(会触发SSL错误)
    // fetch('https://localhost:1337/api/posts')
    
  • 核对环境变量:如果用环境变量存储Strapi地址,确保.env文件里的变量是HTTP开头:
    STRAPI_API_URL=http://localhost:1337
    
  • 排查请求库配置:如果使用axios、ky等工具,检查是否全局强制开启HTTPS,或baseURL配置错误:
    // Axios正确配置示例
    const axios = require('axios');
    const strapiClient = axios.create({
      baseURL: 'http://localhost:1337/api',
      headers: { 'Content-Type': 'application/json' },
    });
    
  • 确认Strapi SSL配置:查看Strapi的config/server.js(或server.ts),确保ssl设为false:
    module.exports = ({ env }) => ({
      host: env('HOST', '0.0.0.0'),
      port: env.int('PORT', 1337),
      app: { keys: env.array('APP_KEYS') },
      ssl: false, // 本地开发保持关闭
    });
    

额外提示

如果后续生产环境需要HTTPS,再为Strapi配置合法SSL证书(如Let's Encrypt),同时同步更新Next.js的请求协议为HTTPS即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 23:24:54