什么是Nginx代理跨域

目录

1.什么是正向代理

2.什么是反向代理

3.Nginx如何解决跨域


Nginx代理属于反向代理的一种,想要知道什么是Nginx代理,就要先弄清楚什么是反向代理和正向代理。

1.什么是正向代理

简单来说正向代理就是代理服务器帮助客户端去向服务器发送请求。

比如说访问外网,自己(客户端)是访问不了外网的,通过一个特殊网站(代理服务器),可以访问到了外网,这个过程就叫正向代理。

正向代理主要主动设置代理服务器ip或者域名进行访问,由设置的代理服务器ip或者域名去访问目的服务器,目的服务器再返回内容。

正向代理的用途:

(1)突破访问限制

通过正向代理可以去访问外国网站。

(2)提高访问速度

代理服务器一般有一个较大的硬盘缓冲区,会将部分请求的响应保存到缓冲区中,当其他用户再访问相同的信息时, 则直接由缓冲区中取出信息,传给用户,以提高访问速度。

(3)隐藏客户端真实IP

真正与服务器打交道的是代理服务器,所以服务器是不知道访问他的到底是谁。这就好比我们通过中介租房子,房东知道有人要租房子,但是具体是谁、长啥样他是不知道的。这就可以隐藏客户端的真实ip。

2.什么是反向代理

简单来说反向代理就是代理服务器代替真实服务器和客户端进行交流。比如去租房子,跟你联系的其实是个二房东,但是你并不知道他是二房东,你以为直接沟通的是房东。那这个时候其实就是反向代理。最常见的反向代理就是Nginx。

在正向代理里面,客户端是知道服务器的真实存在的,而反向代理客户端不知道真实的服务器是谁。

反向代理的用途:

(1)负载均衡

通过反向代理服务器,可以将请求分发到不同的真实服务器上,实现负载均衡。

(2)提高访问速度

反向代理服务器可以缓存静态资源或动态页面,减少后端服务器的负载,提高响应速度。

(3)提供安全保障

反向代理服务器可以通过反向代理实现安全过滤功能,例如防止恶意请求、DDoS 攻击、SQL 注入等,提高系统的安全性。

3.Nginx如何解决跨域

跨域是浏览器的安全策略,要求访问的网站和请求访问的服务的ip地址保持同源策略,即协议、域名、端口保持一致。

Nginx通过反向代理用户去请求服务器的数据。浏览器访问网站,实际访问的是Nginx代理的前端服务,浏览器向后端请求数据时,通过Nginx去代理请求后端服务器,后端把数据返回给Nginx代理服务器,代理服务器再把数据返回给浏览器。所以浏览器访问的前端服务和代理的后端服务都是用一个服务器的相同端口返回出来的,就解决了跨域问题

如果没搞懂反向代理的伙伴可以看看这个大佬写的,本人也是通过这篇文章理解了一二。

深入理解 http 反向代理(nginx) - 知乎 (zhihu.com)

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nginx代理跨域配置是指设置Nginx服务器,使其可以代理跨域请求。跨域请求是指在浏览器中从一个网站请求不同源的资源,这样的请求会被浏览器阻止,因为浏览器的同源策略限制了这样的请求。Nginx代理跨域配置可以绕过这个限制。 具体的配置方法如下: 1. 在Nginx的配置文件中增加以下内容: ``` location /api/ { proxy_pass http://api.example.com/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type'; } ``` 2. 上述代码中的/api/是你的本地虚拟路径,http://api.example.com/是你的目标网站地址,在代理的时候要将api.example.com替换成你自己的地址。 3. 设置header的内容,Access-Control-Allow-Origin是设置允许跨域请求的来源地址,可以是*,也可以是具体的域名或IP地址。Access-Control-Allow-Methods是设置允许跨域请求的HTTP方法,如GET、POST等。Access-Control-Allow-Headers是设置允许跨域请求的自定义header,需要根据实际情况进行设置。 4. 完成上述步骤后,重新启动Nginx服务器即可生效。 Nginx代理跨域配置能够有效解决跨域请求的问题,同时也能提高网站的安全性。但需要注意的是,如果设置允许跨域请求的来源地址为*,会造成安全隐患,最好还是根据具体情况设置具体的来源地址。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值