针对nginx,来具体聊聊正向代理与反向代理 (转载)
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,来具体聊聊正向代理与反向代理 (转载)的更多相关文章
- Nginx详解(正向代理、反向代理、负载均衡原理)
Nginx配置详解 nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行 ...
- nginx:正向代理和反向代理
一.正向代理 原理:正向代理是一个位于客户端和目标服务器之间的代理服务器(中间服务器).为了从目标服务器取得内容,客户端向代理服务器发送一个请求,并且指定目标服务器,之后代理向目标服务器转交并且将获得 ...
- nginx正向代理,反向代理,透明代理(总结)
1正向代理 正向代理,也就是传说中的代理,他的工作原理就像一个跳板, 简单的说, 我是一个用户,我访问不了某网站,但是我能访问一个代理服务器 这个代理服务器呢,他能访问那个我不能访问的网站 于是我先连 ...
- 正向代理与反向代理的区别【Nginx读书笔记】(zz)
正向代理与反向代理的区别[Nginx读书笔记] 正向代理的概念 正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器 ...
- Nginx的正向代理与反向代理详解
正向代理和反向代理的概念 代理服务(Proxy),通常也称为正向代理服务. 如果把局域网外Internet想象成一个巨大的资源库,那么资源就分布到了Internet的各个点上,局域网内的客户端要访问这 ...
- 正向代理与反向代理区别图解 (nginx)
1. 背景 经常听到代理,比如通常我们要上国外的网站时,需要买vpn作为跳板机器进行访问. 但是在公司里面也听到了nginx支持反向代理. 那什么是正向代理,什么是反向代理?在网上看了写内容,说一下自 ...
- nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件
前言一.nginx简介1. 什么是 nginx 和可以做什么事情Nginx 是高性能的 HTTP 和反向代理的web服务器,处理高并发能力是十分强大的,能经受高负 载的考验,有报告表明能支持高达 50 ...
- [转帖]nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件
nginx学习,看这一篇就够了:下载.安装.使用:正向代理.反向代理.负载均衡.常用命令和配置文件 2019-10-09 15:53:47 冯insist 阅读数 7285 文章标签: nginx学习 ...
- (大型网站之Nginx)图解正向代理、反向代理、透明代理
一.正向代理(Forward Proxy) 一般情况下,如果没有特别说明,代理技术默认说的是正向代理技术.关于正向代理的概念如下: 正向代理(forward)是一个位于客户端[用户A]和原始服务器(o ...
随机推荐
- 在windows上搭建hadoop开发环境
下载hadoop: http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common 点击下面链接进行下载 然后进行解压 如果解压出现下面的情况 则用管 ...
- JS基础 浏览器弹出的三种提示框(提示信息框、确认框、输入文本框)
浏览器的三种提示框 alert() //提示信息框 confirm() //提示确认框 prompt() //提示输入文本框 1.alert( ) 提示信息框 <script> alert ...
- js计算两个时间差 天 时 分 秒 毫秒
// 计算两个时间差 dateBegin 开始时间 function timeFn(dateBegin) { //如果时间格式是正确的,那下面这一步转化时间格式就可以不用了 var dateEnd = ...
- kubernetes里面的GC--转发
什么是GC GC 是 Garbage Collector 的简称.从功能层面上来说,它和编程语言当中的「GC」 基本上是一样的.它清理 Kubernetes 中「符合特定条件」的 Resource O ...
- Django之路——11 Django用户认证组件 auth
用户认证 auth模块 1 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: 1.1 .authenti ...
- eclipse正常启动,debug无法启动,解决办法
- Python应用-完成简单邮件发送功能
项目中有时候需要用脚本来自动发送邮件,而用Python来发送邮件十分的方便,代码如下: #!/usr/bin/python #coding:utf-8 import smtplib from emai ...
- SQL操作Spark SQL--CatalogApiTest
object CatalogApiTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() ...
- C++中的hash_map和map的区别
hash_map和map的区别在哪里?构造函数.hash_map需要hash函数,等于函数:map只需要比较函数(小于函数). 存储结构.hash_map采用hash表存储,map一般采用红黑树(RB ...
- vue 的computed 和 watch 两者的区别
computed是计算属性,依赖其他属性计算,并且computed的值有缓存,只有当计算值发生变化才会返回内容. computed 用来监控自己定义的变量,该变量不在data里面声明,直接在compu ...