news 2026/4/16 12:18:28

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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/; } }

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/6 19:03:05

导师严选9个AI论文软件,专科生搞定毕业论文+格式规范!

导师严选9个AI论文软件,专科生搞定毕业论文格式规范! AI 工具如何成为专科生毕业论文的得力助手 随着人工智能技术的不断发展,AI 工具在学术写作中的应用越来越广泛。对于专科生来说,撰写一篇符合格式规范、内容严谨的毕业论文是一…

作者头像 李华
网站建设 2026/4/10 8:23:41

PCB的叠层结构和材质详解

思考:关于PCB的材质,主要是由copper、core、prepreg,这三个叠起来的,需要从材料、功能和应用三个维度讲清楚。Copper就是导体层,负责走线和铺铜;core是双面覆铜的刚性绝缘板,提供机械支撑&#…

作者头像 李华
网站建设 2026/4/15 20:18:15

【Linux命令大全】003.文档编辑之wc命令(实操篇)

【Linux命令大全】003.文档编辑之wc命令(实操篇) ✨ 本文为Linux系统文档编辑与文本处理命令的全面汇总与深度优化,结合图标、结构化排版与实用技巧,专为高级用户和系统管理员打造。 (关注不迷路哈!!&#…

作者头像 李华