【nginx学习】nginx反向代理前端跨域问题

* 跨域简介:

跨域是指a页面想获取b页面资源,若是a、b页面的协议、域名、端口、子域名不一样,所进行的访问行动都是跨域的,而浏览器为了安全问题通常都限制了跨域访问,也就是不容许跨域请求资源。
  • 注意:跨域限制访问,实际上是浏览器的限制。
  • 跨域类型:
URL 说明 是否跨域
http://www.cnblogs.com/a.js http://www.a.com/b.js 不一样域名
http://www.a.com/lab/a.js http://www.a.com/script/b.js 同一域名下不一样文件夹
http://www.a.com:8000/a.js http://www.a.com/b.js 同一域名,不一样端口
http://www.a.com/a.js https://www.a.com/b.js 同一域名,不一样协议
http://www.a.com/a.js http://70.32.92.74/b.js 域名和域名对应ip
http://www.a.com/a.js http://script.a.com/b.js 主域相同,子域不一样 是(cookie不可访问)
http://www.a.com/a.js http://a.com/b.js 同一域名,不一样二级域名(同上)

* 跨域常看法决方法:

一、jsonp 须要目标服务器配合一个callback函数。
二、window.name+iframe 须要目标服务器响应window.name。
三、window.location.hash+iframe 一样须要目标服务器做处理。
四、html5的 postMessage+ifrme 这个也是须要目标服务器或者说是目标页面写一个postMessage,主要侧重于前端通信。
五、CORS 须要服务器设置header :Access-Control-Allow-Origin。
六、nginx反向代理 能够不用目标服务器配合,须要搭建一个中转nginx服务器,用于转发请求。html

* 跨域实例:

A网站部署在:http://localhost:81 即本地ip端口81上;B网站部署在:http://localhost:82 即本地ip端口82上。如今A网站的页面想去访问B网站的信息,

解决方法:nginx反向代理解决跨域前端

相关文章
相关标签/搜索