利用nginx反代实现跨域

一、前言

  我们知道跨域在前端开发中是一个非常常见的问题,我们平时也有很多方法去解决他,比如说降域、cors、jsonp、postMessage等。还有一种很常用的方式是用nginx反代的方式去实现跨域,今天我们就来谈一谈关于使用nginx反代来实现跨域的问题。

二、原理

  我们都知道,跨域问题的产生是因为不同源的问题,那么,同源是指什么呢?同源,即域名、协议、端口都一样即同源。如果有一个不一样则不同源。而浏览器为了安全,对不同源的请求做了限制,即不允许发一个非同源的请求。这里需要划重点:浏览器为了安全。这个意思就是,这个行为是浏览器的行为,而不是你发一个不同源的请求就会被拦截。那么这个问题就好解决了,我们把请求发送到nginx上,在由nginx发送到目的服务器,目的服务器处理完毕后,同样把消息在发送给nginx,nginx在返回给前端。我们在服务器的层面上去处理跨域的问题,就不存在跨域的限制了。

三、实现

  如何在本地配置nginx这里我就不介绍了,如果不了解的同学可以先上网找一找相关的内容学习一下,下面我们先一步步实现。首先先用node在本地搭一个简单的服务器:

var http = require('http');

var hostName = '127.0.0.1';

var port = 8080;

var server = http.createServer(function(req, res) {
   
    res.setHeader('Content-Type', 'application/json');
    res.end(JSON.stringify('hello'));
});

server.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值