网站首页 > 精选教程 正文
CORS错误
CORS(Cross-Origin Resource Sharing,跨源资源共享)是一种机制,它使用额外的HTTP头部来告诉浏览器允许一个网页运行的脚本从不同于它自身来源的服务器上请求资源(例如字体、JavaScript、CSS等)。这是一种安全特性,用于帮助减少跨站请求伪造(CSRF)攻击的风险。
CORS 跨域请求的工作流程
- 浏览器发起跨域请求:当一个网页尝试从不同的源(协议、域名、端口中任意一者不同)加载资源时,浏览器会自动添加一些HTTP头部信息(如Origin),并将请求发送到服务器。
- 服务器响应CORS头部:服务器在响应中通过添加CORS相关的HTTP头部来指示浏览器是否允许该跨域请求。这些头部包括:
- Access-Control-Allow-Origin:指定哪些网站可以参与跨域资源共享。
- Access-Control-Allow-Methods:明确告知客户端,实际请求所允许使用的HTTP方法。
- Access-Control-Allow-Headers:在预检请求中,告知客户端在实际请求中,哪些HTTP头信息会被支持。
- Access-Control-Allow-Credentials:表明是否允许发送Cookie。
- Access-Control-Max-Age:指定预检请求的结果能够被缓存多久。
- 浏览器判断响应:浏览器检查响应中的CORS头部,决定是否接受响应。如果服务器返回的CORS头部不允许当前源进行跨域请求,浏览器会拒绝响应,并可能抛出错误。
常见的CORS错误
- Access-Control-Allow-Origin 不匹配:请求的Origin头部与服务器响应的Access-Control-Allow-Origin不匹配。
- 缺少CORS头部:服务器没有返回任何CORS相关的HTTP头部。
- 预检请求失败:对于复杂请求(如使用PUT、DELETE或PATCH方法,或发送自定义头部),浏览器会首先发送一个OPTIONS请求作为“预检”。如果服务器没有正确响应预检请求,则实际请求不会被发送。
NGINX配置
进入nginx/conf/vhosts找到你域名配置文件增加下方的代码即可。
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header Access-Control-Allow-Methods 'GET, POST, 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,Authorization';
猜你喜欢
- 2024-10-06 linux服务器大量的sendmail及postdrop进程故障排查
- 2024-10-06 Nginx处理一个http请求需要经过哪11个阶段?
- 2024-10-06 Nginx重写规则(2) nginx重写url后面的参数
- 2024-10-06 运维必备核心技能-nginx实现web服务配置
- 2024-10-06 Node.js GET/POST请求-Web 模块-Express 框架-教程下载
- 2024-10-06 Jenkins+Gitlab+Nginx+SonarQube+Maven编译Java项目自发布与回退
- 2024-10-06 NGINX 反向代码 CORS nginx反向代理详解
- 2024-10-06 nginx中request_body_size ,body_bytes_sent ,bytes_sent 区别
- 2024-10-06 nginx中日志格式解析 nginx日志影响性能吗
- 2024-10-06 nginx运维小纪 nginx总结
你 发表评论:
欢迎- 最近发表
-
- 我的世界光影MOD下载(我的世界光影mod下载安装)
- 我的世界1.7/1.8VoxelMap小地图MOD下载
- 我的世界1.7.10多世界 整合包(我的世界1.7.10forge整合包)
- 我的世界1.8最好用的修改器下载(我的世界1.8最好用的修改器下载安装)
- 我的世界更多弯曲动作MOD下载(我的世界更多弯曲动作mod下载手机版)
- 我的世界龙珠MOD下载(我的世界龙珠模组整合包下载)
- 我的世界1.7.10以太2 下载(我的世界以太2mod1.12.2)
- 我的世界虚拟人生MOD下载分享(我的世界虚拟人生下载安装)
- 我的世界无正版账号的简单联机方法(非网易版,仅适用于局域网)
- “我的语言极限,即是我的世界的极限。” ——《On Java》书籍推荐
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)