正向代理和反向代理以及nginx的简介

举报
码农飞哥 发表于 2021/05/29 11:50:04 2021/05/29
【摘要】 前言 今天来看一个简单的知识点,正向代理和反向代理。相信这两个名词大家都听过。那么什么是正向代理?什么是反向代理呢?带着这个问题让我们开始今天的学习之旅。 正向代理 首先让我们想一想,在日常生活中,我们有哪些场景下会使用到正向代理呢?一个场景就是当我们要访问的网站不能访问,我们就可以通过代理服务器来访问。这里的代理服务器就是一个正向代理服务器。我们自己的电脑作为客...

前言

今天来看一个简单的知识点,正向代理和反向代理。相信这两个名词大家都听过。那么什么是正向代理?什么是反向代理呢?带着这个问题让我们开始今天的学习之旅。

正向代理

首先让我们想一想,在日常生活中,我们有哪些场景下会使用到正向代理呢?一个场景就是当我们要访问的网站不能访问,我们就可以通过代理服务器来访问。这里的代理服务器就是一个正向代理服务器。我们自己的电脑作为客户端,首先会向代理服务器发送一个请求,并且指定目标服务器,之后代理服务器向目标服务器发送请求,并且将获得的内容返回给客户端。正向代理下客户端必须做一些特殊的设置。说白了,正向代理服务器就是帮客户端去请求目标服务器。如下图:正向代理中,proxy和client同属于一个LAN,对server透明。
在这里插入图片描述

反向代理

反向代理的过程与正向代理恰恰相反,正向代理的话客户端需要做一些设置,设置代理服务器。而反向代理的话,对客户端而言,代理服务器就好像是目标服务器,客户端向反向代理服务器发送请求,接着反向代理服务器判断请求走向何处,并将请求转交给客户端,反向代理服务器作用在服务端,它在服务器端接收客户端的请求,然后再将请求分发给具体的服务器进行处理。然后再将服务器的相应结果反馈给客户端。一个很典型的应用就是我们通过Nginx作为代理服务器。如下图所示:反向代理中,proxy和server同属于一个LAN,对client透明,实际上proxy在两种代理中做的事都是代为收发请求和响应,不过从结构上来看正好左右互换了下,所以把前者那种代理方式叫做正向代理,后者叫做反向代理。
在这里插入图片描述

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

正向代理

  1. 正向代理需要客户端必须设置正向代理服务器,当然前提是要知道正向代理服务器的ip地址,还有程序的端口。
  2. 正向代理需要你主动设置代理服务器IP或者域名进行访问,由设置的服务器IP或者域名去获取访问内容并返回。
  3. 正向代理是代理客户端,为客户端收发请求,使真实客户端对服务器不可见。

反向代理

  1. 反向代理不需要客户端做任何设置,直接访问服务器真实IP或者域名,但是服务器内部会自动根据访问内容进行跳转及内容返回,你不知道它最终访问的是哪些机器。
  2. 反向代理正好与正向代理相反,对于客户端而言代理服务器就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端。
  3. 反向代理是代理服务器端,为服务器收发请求,使真实服务器对客户端不可见。

Nginx的简介

Nginx最初是作为一个Web服务器创建的,用于解决C10K(就是单击在一秒之内连接客户端的数据为10k,即1万)问题。作为一个Web服务器,它可以以惊人的速度为您的数据服务。但Nginx不仅仅是一个web服务器,你还可以作为一个反向代理进行网站的负载均衡。它的设计不像传统的服务器那样使用线程处理请求,而是一个更加高级的机制-事件驱动机制,就是基于IO多路复用技术实现的。

Nginx的负载均衡示意图

在这里插入图片描述
我们通过Nginx做反向代理服务器,实现了Tomcat服务器的负载均衡。

总结

本文简单介绍了,正向代理和反向代理,以及他们的区别。我们只需要记住一点,正向代理作用在客户端,需要客户端做设置,由正向代理服务器代理客户端的请求。而反向代理的话是作用在服务端的,不需要客户端做设置,客户端请求发向代理器,由反向代理服务器来分发请求。

文章来源: feige.blog.csdn.net,作者:码农飞哥,版权归原作者所有,如需转载,请联系作者。

原文链接:feige.blog.csdn.net/article/details/107942039

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。