https://www.sohu.com/a/235704408_468627

先来说说什么是代理服务器?

所谓代理服务器就是位于发起请求的客户端与原始服务器端之间的一台跳板服务器,正向代理可以隐藏客户端,反向代理可以隐藏原始服务器。

如果你对这句话还不是特别了解,那么接下来我们就详细聊聊正向代理和反向代理的区别。

正向代理

假如你常用的电脑想通过google搜索一个关键词“hello world”,但是国内现在不允许访问google一下,所以你访问不了。

但,假如你现在有一台国外服务器可以访问google,于是出现了这种情况:

于是你想到,我的电脑直接远程控制这台服务器就能google啦,虽然有点麻烦。时间久了你就可能觉得每次远程时间挺累的事情,于是你又想,能不能我的电脑访问这台服务器,然后这台服务器去帮我请求google,然后把请求到的数据返回给我。设想是这样的:

这个过程其实就是正向代理!!

那么问题来了,怎么才能让我的这台服务器接受在我搜索hello world的时候自动帮我去访问google呢?你想到nginx好像有正向代理的功能,于是按照了nginx,并配置相关信息:

其中:resolver配置DNS解析IP地址,比如 Google Public DNS。(图例只是个例子,不是google dns)这时候,你在浏览器上配置上代理服务器地址和81端口,浏览器就会自动把请求转给代理服务器实现传说中的“翻墙”啦。

来看看小飞机的翻墙代理:

总结来了,想要实现正向代理,得配置一台转发请求的跳板服务器,同时客户端还得配置跳板服务器的代理地址。google是不知道访问的是我的电脑,只知道是我代理服务器。所以,如果当黑客去黑别人的网站,同时不想让网站追踪到你的ip地址,你就可以操控一台代理服务器去代替你攻击,这就是传说中的“肉鸡”啦!

反向代理

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

所以:反向代理与正向代理是相对的。正向代理是替代客户端去发起请求,而反向代理是替代服务器接受客户端的请求。

有如下图例:

这时候这台代理服务器其实不掌握在我们用户手里了,而是google专门用来接受请求,同时还可以作为过滤不正常的请求,防止你们黑的的一个服务器。对我们客户端来说,不掌握在我手里的东西都是别人的,所以这台服务器是反向的,哈哈。

google有了这台代理服务器,我们客户端就接触不到他的真正服务器。google内部可以做微服务,代理服务器可以根据url转发到不同的内部服务器。

nginx的配置上你可以通过指定不同的url前缀跳转到不同的服务器哈~

一句话总结

好了,如果你还不理解。最后我就要放大招了,一句话:假如说正向代理是黑客手里的攻击长矛,反向代理就是google握着的一个盾牌,相互撕杀,谁也不知道是对方是谁!!

借用网友的一张神图作为结尾:

针对nginx,来具体聊聊正向代理与反向代理 (转载)的更多相关文章

  1. Nginx详解(正向代理、反向代理、负载均衡原理)

    Nginx配置详解 nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行 ...

  2. nginx:正向代理和反向代理

    一.正向代理 原理:正向代理是一个位于客户端和目标服务器之间的代理服务器(中间服务器).为了从目标服务器取得内容,客户端向代理服务器发送一个请求,并且指定目标服务器,之后代理向目标服务器转交并且将获得 ...

  3. nginx正向代理,反向代理,透明代理(总结)

    1正向代理 正向代理,也就是传说中的代理,他的工作原理就像一个跳板, 简单的说, 我是一个用户,我访问不了某网站,但是我能访问一个代理服务器 这个代理服务器呢,他能访问那个我不能访问的网站 于是我先连 ...

  4. 正向代理与反向代理的区别【Nginx读书笔记】(zz)

    正向代理与反向代理的区别[Nginx读书笔记]       正向代理的概念 正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器 ...

  5. Nginx的正向代理与反向代理详解

    正向代理和反向代理的概念 代理服务(Proxy),通常也称为正向代理服务. 如果把局域网外Internet想象成一个巨大的资源库,那么资源就分布到了Internet的各个点上,局域网内的客户端要访问这 ...

  6. 正向代理与反向代理区别图解 (nginx)

    1. 背景 经常听到代理,比如通常我们要上国外的网站时,需要买vpn作为跳板机器进行访问. 但是在公司里面也听到了nginx支持反向代理. 那什么是正向代理,什么是反向代理?在网上看了写内容,说一下自 ...

  7. nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件

    前言一.nginx简介1. 什么是 nginx 和可以做什么事情Nginx 是高性能的 HTTP 和反向代理的web服务器,处理高并发能力是十分强大的,能经受高负 载的考验,有报告表明能支持高达 50 ...

  8. [转帖]nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件

    nginx学习,看这一篇就够了:下载.安装.使用:正向代理.反向代理.负载均衡.常用命令和配置文件 2019-10-09 15:53:47 冯insist 阅读数 7285 文章标签: nginx学习 ...

  9. (大型网站之Nginx)图解正向代理、反向代理、透明代理

    一.正向代理(Forward Proxy) 一般情况下,如果没有特别说明,代理技术默认说的是正向代理技术.关于正向代理的概念如下: 正向代理(forward)是一个位于客户端[用户A]和原始服务器(o ...

随机推荐

  1. Hive Lateral View

    一.简介 1.Lateral View 用于和UDTF函数[explode,split]结合来使用. 2.首先通过UDTF函数将数据拆分成多行,再将多行结果组合成一个支持别名的虚拟表. 3.主要解决在 ...

  2. React: 无状态组件生成真实DOM结点

    在上一篇文章中,我们总结并模拟了 JSX 生成真实 DOM 结点的过程,今天接着来介绍一下无状态组件的生成过程. 先以下面一段简单的代码举例: const Greeting = function ({ ...

  3. css样式设定样例说明

    <style> .classA .classB{*}; //表示设置class为classA标签下的classB标签的样式(A). .classA , .classB{*}; //表示同时 ...

  4. mysqlbinlog 恢复数据到任意时间点

    创建表,插入数据. ``` mysql> create database binlog; mysql> create table bt(id int); mysql> insert ...

  5. 「资料分享」理解uboot要看哪些书

    最开始是看的韦东山老师的视频,确实很不错,不过总感觉是不够深入扎实,还是想自己看看书,就总结搜罗下,以供参考 学习交流可以添加 微信读者交流①群 (添加微信:coderAllen) 程序员技术交流①群 ...

  6. CentOS7:sorry,that didn't work.please try again!

    参考以下解决方案,重点是vi etc/selinux/config 把 enforcing 改为 disable 应用场景 linux管理员忘记root密码,需要进行找回操作.注意事项:本文基于cen ...

  7. 项目Alpha冲刺--6/10

    项目Alpha冲刺--6/10 作业要求 这个作业属于哪个课程 软件工程1916-W(福州大学) 这个作业要求在哪里 项目Alpha冲刺 团队名称 基于云的胜利冲锋队 项目名称 云评:高校学生成绩综合 ...

  8. NumPy的Linalg线性代数库探究

    1.矩阵的行列式 from numpy import * A=mat([[1,2,4,5,7],[9,12,11,8,2],[6,4,3,2,1],[9,1,3,4,5],[0,2,3,4,1]]) ...

  9. Java线程池(ExecutorService)使用

    一.前提 /** * 线程运行demo,运行时打出线程id以及传入线程中参数 */ public class ThreadRunner implements Runnable { private fi ...

  10. python OOP

    object oriented programming 干啥的 1.避免重名(封装) 2.避免代码重复(继承) 3.将复杂的流程抽象地封装起来 4.模块化程度高,应对复杂编程问题 1)划分职责-要做的 ...