完美解决nginx跨域问题Request header field x-token is not allowed by Access-Control-Allow-Headers in prefligh
Access-Control-Allow-Headers
响应首部 Access-Control-Allow-Headers 用于 preflight request (预检请求)中,列出了将会在正式请求的 Access-Control-Request-Headers 字段中出现的首部信息。
简单首部,如 simple headers、Accept、Accept-Language、Content-Language、Content-Type (只限于解析后的值为 application/x-www-form-urlencoded、multipart/form-data 或 text/plain 三种MIME类型(不包括参数)),它们始终是被支持的,不需要在这个首部特意列出。
如果请求中含有 Access-Control-Request-Headers 字段,那么这个首部是必要的。
创作者:吴仔汕
遇到的问题:
nginx代理后端服务器,想要去上传文件至的平台时,却发现服务出现了跨域问题:
提示CORS :No ‘Access-Control-Allow-Origin’ header
首先、在nginx中配置了常见的跨域配置,
add_header Access-Control-Allow-Origin * always;
add_header Access-Control-Allow-Credentials 'true';
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS' always;
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
重启nginx后,问题得到解决,但是又出现另一个跨域的报错:
“Request header field x-token is not allowed by Access-Control-Allow-Headers in preflight response.”
然后去官网里面搜索查询,解读各header的含义。。。(很久)
最后自己服务的需求配置了一套完美解决跨域问题的全套nginx配置:
add_header 'Access-Control-Allow-Origin' '*' always;add_header 'Access-Control-Allow-Credentials' 'true';add_header 'Access-Control-Allow-Methods' 'GET, POST, PATCH, DELETE, PUT, OPTIONS';add_header 'Access-Control-Allow-Headers' 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type, X-Custom-Header, Access-Control-Expose-Headers, Token, Authorization';add_header 'Access-Control-Allow-Headers' '*';add_header 'Access-Control-Max-Age' 1728000;
尽管花了一大堆时间去弄这个,但最后还是解决了这个问题,还是可行的。
欢迎大家参考,还可以提出疑问或者不同看法噢。
原创作品,转载请标明出处!!
完美解决nginx跨域问题Request header field x-token is not allowed by Access-Control-Allow-Headers in prefligh相关推荐
- axios请求跨域前端解决_完美解决axios跨域请求出错的问题
错误信息: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Orig ...
- ajax error parsererror,完美解决ajax跨域请求下parsererror的错误
AJAX 的 完美解决ajax跨域请求下parsererror的错误 ajax请求报parsererror错误是很宽泛的概念,很多情况下都报这个错, 在很多时候,即使ajax提交.返回都正常 XMLH ...
- beforeSend 出现跨域问题,header里直接设置token就没问题----Day1
一开始前端调用后端接口出现跨域问题,右键查看元素,会有跨域错误提示,类似下图,后来找后端设置了一下,问题解决.可以登录获取token等参数了. 但是 请求设备列表时,beforeSend 中设置tok ...
- Nginx跨域解决配置示例
简介 在日常学习和工作开发中,需要请求两个不同配置的请求经常存在,本文介绍如果还使用Nginx配置解决其跨域问题 相关理论 首先需要了解什么是跨域,下面的两个文章说的很好,请仔细阅读后,然后自己去动手 ...
- Nginx 代理解决前端跨域问题
目录 一.什么是 nginx 二.nginx 的用途 三.代理 1.正向代理 2.反向代理 四.nginx.conf 配置文件的基本结构 五.nginx 的内置变量 六.nginx 解决跨域的原理 七 ...
- Nginx 解决WebApi跨域二次请求以及Vue单页面问题
Nginx 解决WebApi跨域二次请求以及Vue单页面问题 参考文章: (1)Nginx 解决WebApi跨域二次请求以及Vue单页面问题 (2)https://www.cnblogs.com/ji ...
- Request header field Content-Type is not allowed by Access-Control-Allow-Headers跨域
跨域错误提示: XMLHttpRequest cannot load http://xxx.com. Request header field Content-Type is not allowed ...
- nginx解决浏览器跨域问题_使用nginx解决浏览器跨域
什么是浏览器跨域? 跨域就是指浏览器具有同源策略,浏览器不会执行访问其它网址数据的js脚本,比如说访问其它网址的cookie数据,调用其它网址的api接口. 什么是同源? 协议,域名,端口均相同的情况 ...
- 解决js跨域使用nginx配置问题
解决js跨域使用nginx配置问题 参考文章: (1)解决js跨域使用nginx配置问题 (2)https://www.cnblogs.com/phpzhou/p/11132674.html 备忘一下 ...
最新文章
- C++11中override的使用
- python字典去重
- scp会覆盖同名文件吗_你会Hypermesh一键式完成几何文件到求解文件的输出吗?
- Java高并发编程详解系列-类加载
- PAT_1056_组合数的和(15)
- html css字体最小,html-字体大小CSS问题
- REST是否会步SOAP的后尘?
- 用户增删改查 django生命周期 数据库操作
- 音视频即时通讯开发中使用P2P技术的好处
- 【毕业求职季】-听说你想去大厂看学妹,带你看看字节广告运营岗面试长啥样?
- 正则表达式的语法及使用
- 【Shell案例】【for循环、seq生成】3、输出7的倍数
- 不清楚用电脑怎么图片转文字?来看看这三个方法吧
- 个人电脑应用常识记录
- 220817笔试(速腾聚创)
- C/C++黑魔法-隐含的this指针
- 国产香氛品牌别样的生意经
- 后疫情时代 金融行业数字化转型解题
- c语言习题:华氏度摄氏度比照表
- 第三十九天:linux内核裁剪