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

通过Github Actions部署NextJS至Github Pages后,POST /generate接口返回405

问题分析与解决思路

核心原因

Github Pages是纯静态站点托管服务,不支持运行Node.js后端代码。NextJS的/api目录下的接口属于服务器端路由(API Routes),这类代码需要Node.js环境执行,因此部署到Github Pages后,这些接口无法被正常处理,从而返回405错误。

解决思路

  • 更换托管平台(推荐):
    使用Vercel(NextJS官方托管平台)、Netlify等支持Serverless函数的平台部署整个项目。这些平台原生支持NextJS的API路由,部署时直接关联Github仓库即可,环境变量可在平台控制台配置,能完美复现本地运行的效果。
  • 迁移API路由到Serverless服务:
    将/api/generate的逻辑迁移到AWS Lambda、Cloudflare Workers等Serverless服务,前端仍部署在Github Pages,修改前端代码中调用API的地址为新的Serverless接口地址。
  • 谨慎使用前端直接调用方式:
    若要在前端直接调用OpenAI API,必须注意密钥泄露风险——需在OpenAI控制台设置密钥的域名白名单限制,或通过自建反向代理隐藏密钥。此方式仅适合测试场景,生产环境不推荐。
  • 检查部署脚本配置:
    查看Github Actions的部署脚本,若使用了next export命令,该命令会生成纯静态文件,会忽略所有API路由。需替换为支持Serverless部署的命令,或切换到Vercel的部署Action。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 18:30:15