nginx配置跨域之后前后端调用,二次请求
2024-09-16 21:19:03
公司项目从前后端不分离转到前后端分离
首先遇到的问题就是前后端分离的时候跨域的问题
但是当跨域成功配置并且能访问成功的时候发现
每次客户端的请求都会发送两次
第一次是OPTIONS的请求,然后才是正常的请求
查阅资料得到的结论是:
第一个OPTIONS的请求是由Web服务器处理跨域访问引发的。
OPTIONS是一种“预检请求”,浏览器在处理跨域访问的请求时如果判断请求为复杂请求,则会先向服务器发送一条预检请求,根据服务器返回的内容浏览器判断服务器是否允许该请求访问。如果web服务器采用 CORS 的方式支持跨域访问,在处理复杂请求时这个预检请求是不可避免的。
一句话概括:因为我们公司的token通过header传递所以导致了浏览器判断该请求是复杂请求,所以要先通过OPTIONS请求进行预检查
解决方法
设置Access-Control-Max-Age(指定本次预检请求的有效期,单位秒)
nginx配置增加
location /wechat/ {
add_header ‘Access-Control-Max-Age’ 86400;
proxy_pass http://wechat/rest/;
}
最新文章
- SpringMVC与MyBatis整合(一)——查询人员列表
- Nginx设置Js、Css等静态文件的缓存过期时间
- Mybatis的mapper接口接受的参数类型
- MySQL基础 - 注意事项
- TCPdump抓包命令详解--摘
- iOS - OC Enum		枚举
- 图的割点 桥 双连通(byvoid)
- PPT插件 用js制作PPT
- build path--use as source folder 应用
- Java开发笔记(五十四)内部类和嵌套类
- 必须知道的Linux内核常识详解
- 从Scratch到Python——python turtle 一种比pygame更加简洁的实现
- Problem 2285 迷宫寻宝
- Mysqli面向对象操作数据库
- 12.10 Daily Scrum
- 并发之atomicInteger与CAS机制
- 绝对良心提供百度网盘的jdk1.8源码下载包含sun包的
- 项目复审——Beta阶段
- MySQL(ORM框架)
- Bootstrap简单应用——对首页进行重构
热门文章
- Memcached stats命令及核心参数
- 用户登录时,禁止chrome提示用户保存密码
- kafka连接报错kafka.errors.NoBrokersAvailable: NoBrokersAvailable
- Vue 开发技巧或者说Vue知识点梳理(转,自个学习)
- Linux利器之perf(火焰图)
- CentOS7.5下安装nginx --项目部署
- 2、1 昨天讲列表缓存,为了让列表更新,我们需要在增、删、改方法之前加	@CacheEvict(value=";list";,allEntries = true)
- clog就用clog的后缀名
- [转帖]Nginx服务器的六种负载均衡策略详解
- CAS 5.x搭建常见问题系列(2).PKIX path building failed