首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nginx跨域问题纪录

nginx跨域问题纪录

作者头像
dogfei
发布2020-07-31 13:35:24
1.4K0
发布2020-07-31 13:35:24
举报
文章被收录于专栏:devops探索devops探索

问题

之前在公司内部的一后台界面,所有的视频都无法播放,浏览器抓包,从报错信息看是跨域问题导致,这里就简单纪录下

跨域

由于javascript的同源策略的限制问题,导致a.com域名下的js无法操作b.com域名下的对象,所谓同源是指相同的协议,例如http或者https,若相同即为同源。

同源包括: 相同协议,相同域名,端口

常见跨域类型

名词解释

CORS 跨域资源共享,当前几乎所有的浏览器都可以通过跨域资源共享的协议支持ajax跨域调用,CORS 标准定义了一组新的 HTTP header,这组 header 给浏览器和服务器提供了一种判断跨域请求是否何法的依据。 因此,要实现 CORS,浏览器(client)和服务器(server)都应该遵守该约定。Origin 指定说明请求来自哪个源(协议+域名+端口) Access-Control-Allow-Origin 指定请求时Origin字段的值,例如后面写一个 * ,表示接受任意域名的请求 Access-Control-Allow-Credentials 表示是否允许发送Cookie,如果在CORS请求中不包含Cookie,则设为 true,否则删掉该字段 Access-Control-Allow-Headers 在跨域访问时,XMLHttpRequest对象的getResponseHeader()方法只能拿到一些最基本的响应头,Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、Pragma,如果要访问其他头,则需要服务器设置本响应头

CORS有两种请求:简单请求和非简单请求

简单请求包括:

  • 请求方法
    • HEAD
    • GET
    • POST
  • HTTP头信息
    • Accept
    • Accept-Language
    • content-language
    • last-ecent-id
    • Content-Type  包括:application/x-www-form-urlencoded、multipart/form-data、text/plain

非简单请求

非简单请求会发出一次监测请求,返回码是204,预监测通过才会发出请求,然后才返回200,前端可以通过在发请求是增加一个额外的Headers来出发非简单请求

以上参考文档: [CORS][1]

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-03-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题
  • 跨域
  • 常见跨域类型
  • 名词解释
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档