当前位置:首页 > 技术文章 > 正文内容

深入理解Nginx二之正向代理和反向代理的区别

arlanguage3个月前 (01-31)技术文章18

正向代理 Forward Proxy

正向代理,意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。

科学上网(翻墙)

有时候,用户想要访问某国外网站,该网站无法在国内直接访问,但是我们可以访问到一个代理服务器,这个代理服务器可以访问到这个国外网站。这样呢,用户对该国外网站的访问就需要通过代理服务器来转发请求,并且该代理服务器也会将请求的响应再返回给用户。这个上网的过程就是用到了正向代理。如:我们要访问 www.google.com


加速访问

正向代理可以缓存常用的请求结果,减少服务器的负载,提高访问速度。



隐藏真实客户端

正向代理可以隐藏真实客户端的身份和位置,提高用户的匿名性和隐私保护。


反向代理

正确叫法是:Reverse Proxy,译为:反向代理、反向代理服务器、逆向代理、服务器代理

反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

反向代理主要是面向服务端的,最大的特点就是,从客户端角度来看,并不知道真实访问的服务器是谁,只知道公开的服务器入口。

10086客服

如果遇到困难需要拨打10086客服电话,可能一个地区的10086客服有几十个,但是我们不需要关心电话那头的人是谁。只需要拨通10086的总机号码,电话那头总有客服会回应。

这里的10086总机号码就相当于反向代理,客户端不知道真正提供服务的人是谁。

正向代理和反向代理之间的区别

下图显示了正向代理和反向代理之间的区别。

正向代理是位于用户设备和互联网之间的服务器。正向代理通常用于:

  • 保护客户端
  • 避免浏览限制
  • 阻止访问某些内容

反向代理是一种服务器,它接受来自客户端的请求,将请求转发到web服务器,并将结果返回给客户端,就好像代理服务器已经处理了请求一样。反向代理适用于:

  • 保护服务器:通过代理服务器可以实现身份验证、授权和防火墙功能,以限制对后端服务器的访问。
  • 负载平衡:通过将请求分发到多个后端服务器来平衡负载,从而减少单个服务器的负担,提高系统的可伸缩性。
  • 缓存静态内容
  • 加密和解密SSL通信

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/1566.html

分享给朋友:

“深入理解Nginx二之正向代理和反向代理的区别” 的相关文章

NGINX配置跨域CORS支持 nginx配置跨域请求

NGINX配置跨域CORS支持这两天在搞酷瓜云网课的 app,采用 uni-app 做全端支持,现学现卖,目前算是入门了。在做 H5 的时候难免会跨域请求后端 API,虽然用 HBuilder 内置的浏览器不会有跨域问题(这个应该是做了内部处理),但是那个内置浏览器真尼妈坑爹,过一会就会卡死,导致...

Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.For online documentation and suppo...

Java 加密解密和数字签名

在做项目中,只要涉及敏感信息,或者对安全有一定要求的场景,都需要对数据进行加密。在Java中原生API即可实现对称加密与非对称加密,并支持常用的加密算法。对称加密对称加密使用单钥完成加解密,加密和解密采用相同的密钥。对称加密的速度快,常用于大量数据进行加密。主流的算法有:AES,3DES。生成3DE...

Windows下配置Nginx开机自启动

如何安装、配置网站就不说了,文章主要讲讲windows中如何让nginx开机自启动1.windows中配置nginx开机启动需要借助Windows Service Wrapper工具。可以通过地址http://repo.jenkins-ci.org/releases/com/sun/winsw/wi...

高端Linux 脚本很有用,赶紧学起来!

Linux 脚本?准确的说叫 Linux Shell 脚本,Shell 脚本是一种被设计用来运行命令行解释器,他是 Linux 系统的一大特色之一。命令行是 Linux 系统中一种非常重要的交互方式,而它的实现基于 Linux 内核和 Shell 程序,为用户提供了强大和灵活的操作方式。使用 Lin...

nginx支持跨域的方法 nginx配置支持跨域

在nginx的配置文件中添加允许跨域的响应头。参考nginx官方文档,添加响应头的方法如下:在conf文件的server作用域中添加如下响应头:server { listen 80; # 其他配置... # 允许跨域 add_header Access-Control-Allow-...