讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux环境调Codex Nginx反向代理:API请求转发与CORS跨域修复详解【说明】

轻瑶大大_1047

轻瑶大大_1047

发布时间:2026-06-17 16:40:36

|

588人浏览过

|

来源于php中文网

原创

Nginx反向代理未正确配置导致CORS报错,需安装启动Nginx、配置codex.conf中proxy_pass保留末尾斜杠、前置OPTIONS预检拦截或map白名单,并将前端API请求改为相对路径/api/。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

linux环境调codex nginx反向代理:api请求转发与cors跨域修复详解【说明】

你在Linux服务器上部署了Codex前端应用,但调用后端API时浏览器控制台持续报错“CORS header ‘Access-Control-Allow-Origin’ missing”,请求被拦截,页面无法加载数据。这不是前端代码问题,而是Nginx未正确处理跨域请求或代理路径配置失效导致的真实链路中断。

确认Nginx已安装并运行

执行 nginx -v 查看版本,若提示 command not found,则需先安装:Ubuntu/Debian系统运行 sudo apt update && sudo apt install nginx -y;CentOS/RHEL系统运行 sudo yum install epel-release -y && sudo yum install nginx -y。

启动服务并设为开机自启:sudo systemctl start nginx && sudo systemctl enable nginx。用 curl -I http://localhost 检查返回 HTTP 200,说明Nginx基础服务已就绪。

配置反向代理转发API请求

进入站点配置目录:sudo nano /etc/nginx/conf.d/codex.conf(若不存在则新建)。

写入以下server块(注意:server_name必须与你实际访问Codex的域名或IP一致,如开发环境常用 【server_name localhost;】):

server {<br>  listen 80;<br>  server_name localhost;<br>  root /var/www/codex;<br>  index index.html;<br><br>  location /api/ {<br>    proxy_pass http://127.0.0.1:3001/;<br>    proxy_set_header Host $host;<br>    proxy_set_header X-Real-IP $remote_addr;<br>    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>    proxy_http_version 1.1;<br>    proxy_set_header Upgrade $http_upgrade;<br>    proxy_set_header Connection "upgrade";<br>  }<br>}

这里 proxy_pass 后的斜杠 【必须保留】,否则 /api/user 会被错误转发为 http://127.0.0.1:3001/api/user,而非预期的 http://127.0.0.1:3001/user —— 这是90%代理失效的根源。

保存后执行 sudo nginx -t 验证语法,无误则重载配置:sudo systemctl reload nginx。

处理OPTIONS预检请求(关键补丁)

方法一:独立location拦截OPTIONS(推荐)

在 codex.conf 的 server 块内、location /api/ { ... } 上方新增:

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载

location /api/ {<br>  if ($request_method = 'OPTIONS') {<br>    add_header Access-Control-Allow-Origin *;<br>    add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS";<br>    add_header Access-Control-Allow-Headers "Content-Type, Authorization, X-Requested-With";<br>    add_header Access-Control-Allow-Credentials "true";<br>    add_header Access-Control-Max-Age 1728000;<br>    add_header Content-Length 0;<br>    add_header Content-Type text/plain;<br>    return 204;<br>  }<br>}

⚠️ 注意:这个 location 必须放在 proxy_pass 的 /api/ 块之前,否则Nginx会按字典序优先匹配 proxy_pass,导致OPTIONS仍被转发给后端并可能触发502。

方法二:用map模块实现Origin白名单(生产环境必需)

在 http 块顶层(即 /etc/nginx/nginx.conf 的 http { } 内)添加:

map $http_origin $cors_origin {<br>  default "";<br>  "http://localhost:3000" "http://localhost:3000";<br>  "https://codex.example.com" "https://codex.example.com";<br>}

然后在 codex.conf 的 /api/ location 内加入:

add_header Access-Control-Allow-Origin $cors_origin;<br>add_header Access-Control-Allow-Credentials "true";

前端请求路径必须适配代理规则

第一步:打开Codex项目中的API调用代码,找到所有类似 fetch('http://api.example.com/v1/users') 或 axios.get('https://backend.com/api/data') 的硬编码URL。

第二步:全部替换为相对路径,例如:fetch('/api/users') 或 axios.get('/api/data')。

第三步:确保前端构建产物(如dist目录)已部署到Nginx root指定路径(本例为 /var/www/codex),且 index.html 中引用的JS/CSS路径为相对路径或根路径(以 / 开头)。

这一步不可跳过——如果前端仍发向原始后端地址,Nginx代理规则完全不生效,CORS报错照旧。

热门AI工具

更多
Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
Codex AI 编程代理与智能开发工作流
Codex AI 编程代理与智能开发工作流

Codex 是一款超越传统代码生成的 AI 编程代理,致力于构建全生命周期的智能开发工作流。通过持久线程保留上下文,支持多智能体并行协作与后台自动化运维。借助沙箱权限控制、Plan/Steer 任务管理机制,Codex 既能自主拆解并执行复杂工程任务,又能让开发者牢牢掌控项目进程。从需求分析、编码测试到代码审查与部署,Codex 将 AI 深度融入研发全链路,极大提升了软件工程的交付效率与质量标准。

594

2026.05.26

Codex API集成与AI编程生态开发
Codex API集成与AI编程生态开发

Codex API 集成是构建下一代 AI 编程生态的核心基石,能通过 API 将强大的代码生成与推理能力无缝接入 VS Code、JetBrains 等主流 IDE 插件,还能将其深度嵌入 CI/CD 流水线,实现自动化的代码审查、单元测试生成与 Bug 修复。结合 Amazon Bedrock 等云平台的托管服务,企业可以灵活打造符合内部安全规范的专属 AI 编程助手。

244

2026.05.26

Codex 模型原理与AI软件工程进阶
Codex 模型原理与AI软件工程进阶

Codex 是基于通用大模型底座,通过海量代码语料与真实 Pull Request 进行专项微调的代码专用模型,能深度理解代码语法树与跨文件依赖,实现从自然语言到高质量工程代码的精准转化。在 AI 软件工程进阶中,Codex 推动了从提示词工程向“驾驭工程(Harness Engineering)”的范式跃迁。

177

2026.05.26

Codex AI编程工具新手指南
Codex AI编程工具新手指南

全面解析Codex AI编程工具的核心原理、功能特点与实际用途,提供适合新手的Codex入门教程、环境配置方法、代码生成演示与常见问题解答,帮助开发者快速掌握AI自动写代码能力,提升编程学习与开发效率。

410

2026.05.27

Codex Agent编程与自主开发能力调优专题
Codex Agent编程与自主开发能力调优专题

PHP中文网为您提供Codex Agent编程与自主开发能力调优专题。针对AI Agent全权委托开发模式,我们为您系统梳理了Harness Engineering(驾驭工程)核心理念,以及涵盖AGENTS.md规范编写、Skills技能配置、Worktree沙盒隔离与多Agent协作架构的实战指南。

248

2026.06.10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

0

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

0

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

0

2026.10.22

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn