nginx解决跨域问题

什么是跨域?

浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域
域名:
 主域名不同 http://www.baidu.com/index.html –>http://www.sina.com/test.js
 子域名不同 http://www.666.baidu.com/index.html –>http://www.555.baidu.com/test.js
 域名和域名ip http://www.baidu.com/index.html –>http://180.149.132.47/test.js
端口:
 http://www.baidu.com:8080/index.html–> http://www.baidu.com:8081/test.js
协议:
 http://www.baidu.com:8080/index.html–> https://www.baidu.com:8080/test.js
备注:
 1、端口和协议的不同,只能通过后台来解决
 2、localhost和127.0.0.1虽然都指向本机,但也属于跨域

nginx如何解决跨域问题
方法一:
配置反向代理
但是在生产环境中这样配置就直接跳往别的域名去了。

方法二:
配置跨域请求
在nginx配置文件里添加以下代码

#响应头(跨域)
               add_header Access-Control-Allow-Origin *;
               add_header Access-Control-Allow-Credentials true;
               add_header Access-Control-Allow-Headers X-Requested-With;
               add_header Access-Control-Allow-Methods GET,POST,OPTIONS;

当然如果在阿里云上是可以通过阿里云后台来配置跨域的,配置OSS管理控制台来实现跨域访问。

nginx配置直接配置跨域有时还是不能访问其他资源,需要改动后台代码来实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值