当前位置: 首页 > news >正文

nginx解决跨域问题,包括options请求的跨域问题

C:\tools\nginx-1.28.0\conf\nginx.conf文件,报错:Access to fetch at 'http://localhost/api-aa2-agent12/classes/courses' from origin 'http://localhost:3001' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

修改说明

为什么需要处理 OPTIONS 请求?

当浏览器发起跨域请求时,会先发送一个 OPTIONS 预检请求(preflight request)来检查服务器是否允许实际请求。如果 Nginx 不正确处理这个 OPTIONS 请求,浏览器就会报 CORS 错误。

主要改进:

  1. 单独处理 OPTIONS 请求,直接返回 204 状态码
  2. 所有 CORS 头添加always参数,确保在所有响应中都包含
  3. 增加了Authorization头的支持,允许传递 token

重新加载 Nginx 后,CORS 错误应该就解决了!

server { listen 80; server_name localhost; location /api-aa2-agent12/ { # 处理 OPTIONS 预检请求 if ($request_method = 'OPTIONS') { add_header 'Access-Control-Allow-Origin' '*' always; add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, PATCH, OPTIONS' always; add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type, Accept, Origin, User-Agent, DNT, Cache-Control, X-Mx-ReqToken, X-Requested-With' always; add_header 'Access-Control-Max-Age' 1728000 always; add_header 'Content-Type' 'text/plain; charset=utf-8' always; add_header 'Content-Length' 0 always; return 204; } # 设置允许跨域的域,* 表示允许任何域,也可以设置特定的域 add_header 'Access-Control-Allow-Origin' '*' always; # 允许的方法 add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, PATCH, OPTIONS' always; # 允许的头信息字段 add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type, Accept, Origin, User-Agent, DNT, Cache-Control, X-Mx-ReqToken, X-Requested-With' always; # 缓存时间 add_header 'Access-Control-Max-Age' 1728000 always; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-NginX-Proxy true; proxy_set_header Connection ''; proxy_http_version 1.1; chunked_transfer_encoding off; proxy_buffering off; proxy_cache off; proxy_pass http://192.168.31.141:1234/; } }

http://www.jsqmd.com/news/211277/

相关文章:

  • 新石器无人车亮相CES 2026:累计部署超过16000台L4级无人车
  • 北京大学研究团队:音视频联合训练提升AI多模态理解力
  • 【Java毕设源码分享】基于springboot+vue的酒店在线预订系统的设计与实现(程序+文档+代码讲解+一条龙定制)
  • 操作系统的资源管理任务包括:资源分配、回收、调度,以及监控资源使用情况等。
  • 量化评估:GEO人才六大核心能力的科学测度体系
  • ‌性能测试与安全测试的协同:DevSecOps时代下的双轮驱动实践
  • 浙江大学等机构联合开发ViSAudio,让无声视频秒变立体声大片
  • springboot+vue的二手交易平台_4682y024
  • 基于PLC的智能停车场自动控制系统设计
  • 关于“菁才计划”IETF国际互联网标准青年学者推进项目的报名通知
  • 基于Java web的电影院选票系统
  • 38.电阻电容——EIA标准中系列
  • 爱普生SGPM01陀螺仪模块:赋能智能割草机与泳池清洁机器人精准导航
  • VisionPro二开之加载ToolBlock
  • 无人驾驶车辆模型基于RLS算法预测控制侧偏刚度估算,递归最小二乘法在线识别前后轮胎侧偏刚度及大...
  • ESLint,前端项目CTRL+S,自动保存格式化文档,超细
  • 一招搞定Excel表格列顺序混乱问题:智能列对齐神器详解
  • UltraISO注册码最新版已过时?不如试试Hunyuan-MT-7B转换系统说明文档语言
  • 学霸同款2026 AI论文写作软件TOP9:本科生毕业论文必备测评
  • 基于PLC3x3的升降横移立体车库控制系统设计及电气梯形图程序、接线图和组态画面解析
  • 基于Spring boot食品安全信息管理系统
  • 2.34 二手车价格预测完整案例:特征工程、模型训练、调参全流程
  • 基于springboot框架的自行车个性化改装推荐系统_fzl3r7qs
  • JLink烧录中Bootloader与驱动协同机制详解
  • AIGC率怎么降?盘点8款真正好用的免费降ai率工具与付费神器
  • 【保姆级教程】Coze工作流+Banana2批量复刻小红书爆款手绘财经知识风格图(附免费工作流)
  • AI开发新趋势:不用再纠结全文检索VS语义搜索,LangChain+Milvus全都要!附完整代码实现,小白也能秒变大神!
  • 小白程序员福音!RTX 4090也能跑的32B大模型,手把手教你搭建RAG系统,告别AI幻觉!
  • 基于springboot框架的高校志愿服务管理系统_68e63n7s
  • 学长亲荐8个AI论文写作软件,助你轻松搞定本科论文!