【网络】正向代理和反向代理

关于网络的基本知识:
为什么百度查到的ip和ipconfig查到的不一样;详解公网Ip和私网ip;详解网络分类ABC;
内网访问外网和外网访问内网的原理

代理

什么是代理?代理其实就相当于交易双方的中间商,当客户端想要与服务端进行“交易”时,代理就需要充当中间商的身份来完成这一次交易。

正向代理和反向代理

正向代理是代理客户端,为客户端收发请求,使真实客户端对服务器不可见;
而反向代理是代理服务器端,为服务器收发请求,使真实服务器对客户端不可见。

从用途上来区分:

  • 正向代理:正向代理用途是为了在防火墙内的局域网提供访问internet的途径。另外还可以使用缓冲特性减少网络通信(同时也可以加快响应速度)
  • 反向代理:反向代理的用途是将防火墙后面的服务器提供给internet用户访问。同时还可以完成诸如负载均衡等功能

从安全性来讲:

  • 正向代理:正向代理允许客户端通过它访问任意网站并且隐蔽客户端自身,因此你必须采取安全措施来确保仅为经过授权的客户端提供服务
  • 反向代理:对外是透明的,访问者并不知道自己访问的是代理。对访问者而言,他以为访问的就是原始服务器(可以隐藏服务的真实地址)

正向代理

当代理为客户端服务时,该代理就是正向代理。

比如:家里上网和VPN都是比较经典的例子
电脑联网会被分配私网IP,私网IP是内网分配的,我们通过电脑和手机去访问各种网络资源,实际上还是通过公网IP(电信运营商给我们分配的)去访问。

私网IP

使用如下命令查看电脑的私网IP

ipconfig

我们的电脑每次都会被分配一个私网IP,这个IP是动态分配的,用于内网通信所使用。
在这里插入图片描述
我断开无线网连接之后,重连,然后再次查看,私网IP已经重新分配,不过这都不妨碍我的电脑上网(反正最后都是代理给公网IP去帮我们访问网络资源,再返回资源给我们)

重新查看

ipconfig 

在这里插入图片描述

公网IP

随便找个IP查询工具,或者百度就可以查到公网IP的地址
在这里插入图片描述
只有公网IP地址(网络运营商,移动,电信等给我们分配的地址)才能在整个互联网环境中进行网络通信,而私网IP地址只能在自己的局域网中进行网络通信。

正向代理结构图如下:
(图片来自于https://www.cnblogs.com/taostaryu/p/10547132.html)

在这里插入图片描述
当客户端想要请求服务端时,客户端会将请求代理给正向代理服务器,正向代理服务器接收到请求后,会主动去请求服务端,服务端接收请求后,会将响应数据返回给正向代理服务器,最后由正向代理服务器将服务端响应的数据转发给客户端。这样就实现了客户端与服务端的请求与响应。

正向代理的用途:

  • 访问原来无法访问的资源,外国网站(这时候,多了一个正向代理VPN)
  • 可以做缓存,加速访问资源,正向代理服务器可以缓存一些比较热的资源,当客户端请求这些热资源时,正向代理服务器就不需要再次请求服务端去获取资源了,只要取本地的缓存资源即可(可能存在缓存与服务端资源不一致的问题)
  • 对客户端访问授权,上网进行认证(校园网学生认证)
  • 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息
  • 限制访问资源(学校转钟之后会限制游戏视频等网站的访问,国内限制对国外某些网站的访问,所以需要再加一个正向代理VPN)

反向代理

当代理为服务端服务时,该代理就是反向代理。

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

反向代理例子:

很多应用都需要一个反向代理服务器,比如高并发的场景下的应用。双十一剁手,短时间内请求太多,单机肯定应付不了,后面都是多台部署了相同业务的服务器集群来同时处理,就需要一个反向代理服务器来帮助他们做负载均衡,把工作平均分配给他们。

spring cloud 中的Zuul 就可以用来做反向代理服务。

反向代理的结构如下图。
(图片来自于https://www.cnblogs.com/taostaryu/p/10547132.html)
在这里插入图片描述

当客户端想要请求服务端时,客户端实际上请求的是反向代理服务器(服务端集群只需要暴露反向代理服务器即可),反向代理服务器接收到客户端的请求后,通过一定的策略,选择合适的服务端进行请求,服务端接收请求后,会将响应数据返回给反向代理服务器,最后由反向代理服务器将服务端响应的数据转发给客户端。这样就实现了客户端与服务端的请求与响应,而真正的服务端可以不暴露在外网环境下,保证了服务端的安全。

反向代理的作用:

  • 保证各种服务在内网的安全,防止web攻击,通常将反向代理服务器作为公网访问地址,避免暴露服务的具体地址。比如您的内容服务器具有必须保持安全的敏感信息,如信用卡号数据库,可在防火墙外部设置一个代理服务器作为内容服务器的替身。当外部客户机尝试访问内容服务器时,会将其送到代理服务器。实际内容位于内容服务器上,在防火墙内部受到安全保护。代理服务器位于防火墙外部,在外部客户机看来就像是内容服务器。外部无法访问真正的内容服务器,因为防火墙只允许代理服务器有权进行访问。
  • 负载均衡,反向代理服务器选择合适的服务进行请求(一系列负载均衡算法来保证各个服务器都不会太忙,均衡分配任务),实现流量的负载均衡。
  • 限流,当流量实在过大时,机器无法负载的情况下,反向代理服务器可以限制一部分流量请求服务(让请求失败,降级等等)。
  • 数据预处理,处理请求的数据,让服务端能够识别,以及在服务端的响应数据中添加或者删除一些数据等。
  • 节约有限的IP资源。校园网内部服务器除使用教育网地址外,也会采用公网的IP地址对外提供服务,公网分配的IP地址数目是有限的,如果每个服务器有分配-个公网地址,那是不可能的,通过反向代理技术很好的解决了IP地址不足的问题

正向代理和反向代理都是代理,关键就在于代理是站那头的,给谁办事。

正向代理: 买票的黄牛 (在客户端这头,为客户服务)
反向代理: 租房的代理 (在提供租房服务的房东那头,帮房东服务)

注意:DNS域名解析服务器应该不算代理服务器,他一般是客户端访问域名,然后dns查询出对应的IP地址,然后返回给客户端,但是不会帮客户端去请求对应的服务端,因为如果都要DNS服务器去代理请求的话,那DNS可太累了,应该访问不过来。
下图为一个DNS的流程图(图来自一张图解决网关,DNS,代理服务器之间的关系)
在这里插入图片描述

References:

  • https://www.cnblogs.com/taostaryu/p/10547132.html
  • https://blog.csdn.net/qq_37960603/article/details/112299316?spm=1001.2014.3001.5501
  • https://blog.csdn.net/hejun1218/article/details/72622083?locationNum=7&fps=1
  • https://www.cnblogs.com/alex-xyl/p/11241135.html
  • https://blog.csdn.net/hejun1218/article/details/72622083?locationNum=7&fps=1
  • https://blog.csdn.net/weixin_44282540/article/details/117038047?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2aggregatepagefirst_rank_ecpm_v1~rank_v31_ecpm-2-117038047.pc_agg_new_rank&utm_term=dns%E4%BB%A3%E7%90%86%E5%92%8C%E4%B8%8D%E4%BB%A3%E7%90%86&spm=1000.2123.3001.4430

(写博客主要是对自己学习的归纳整理,资料大部分来源于书籍、网络资料和自己的实践,整理不易,但是难免有不足之处,如有错误,请大家评论区批评指正。同时感谢广大博主和广大作者辛苦整理出来的资源和分享的知识。)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/39734.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Traefik 一个反向代理的新工具

由于工作需要最近试用了几个反向路由的开源项目,Traefik就是其中之一。 一,Traefik 是干什么用的 简单来说它就是用来作反向代理和负载均衡的,比较适用于微服务化的场景,支持多种分布式的Key-Value存储系统,支持容器技…

Invalid block tag on line 16: 'endblock', expected 'endblock' or 'endblock topfiles'. Did you forget

Invalid block tag on line 16: ‘endblock’, expected ‘endblock’ or ‘endblock topfiles’. Did you forget to register or load this tag? 报错是因为代码没有注意空格问题。 改成缩进一格就行。

Your Bitbucket account has been locked. To unlock it and log in again you must solve a CAPTCHA.

Your Bitbucket account has been locked. To unlock it and log in again you must solve a CAPTCHA. 使用sourceTree拉取代码是出现这个错误,原因是账号对应的密码不对,需要修改window保存的账号名与密码 解决办法: 1,打开控…

启用或禁用更改块跟踪 (Changed Block Tracking, CBT)的两种方式

启用或禁用更改块跟踪 (Changed Block Tracking, CBT) 的两种方式 由于VMware提供了方便的数据块修改追踪(Changed Block Tracking,CBT)技术,为虚拟机增量备份提供了基础,除第一次备份必须完整备份与传输整个VM数据外&…

通过命令行关闭Bitlocker

cmd中输入以下命令关闭 manage-bde -off C: 但是有时候出现如下提示: 此时需要先执行如下命令:(系统分区不是C的话更改下面的盘符) manage-bde -autounlock -ClearAllKeys c: 然后再执行即可 manage-bde -off C: 提示解密进行…

vlock -- 锁定你的终端

原贴:http://www.linuxgem.org/2008/9/18/vlcok.5457.html vlock -- 锁定你的终端 galeki posted 2008年9月18日 01:01 in 实用软件 with tags vlock 终端 , 844 阅读 Vifm -- 支持 Vi 快捷键的文件管理器 基本上每个桌面环境下,都有方便的锁屏功能&am…

BlockChain-Account_TakeOver

题目描述 ECDSA 签名 假设我们的私钥为 d A d_A dA​而公钥为 Q A Q_A QA​, Q A d A ⋅ G Q_Ad_A\cdot G QA​dA​⋅G,接下来就是签名的过程,要签名的消息为 m m m 取 e H A S H ( m ) e HASH(m) eHASH(m)取 e e e的左边的 L n L_n L…

02_Lock锁

首先看一下JUC的重磅武器——锁(Lock) 相比同步锁,JUC包中的Lock锁的功能更加强大,它提供了各种各样的锁(公平锁,非公平锁,共享锁,独占锁……),所以使用起来…

block()/blockFirst()/blockLast() 解决办法

定位到BlockingLoadBalancerClient.java 155行 出问题的点代码如下&#xff1a; Response<ServiceInstance> loadBalancerResponse Mono.from(loadBalancer.choose(request)).block();将这段修改为异步解决&#xff1a; 新建一个新的类 import org.springframework.c…

对Openai Chat API的一些理解

目录 偷懒的编写一个API 如何让ChatGPT理解我们都在聊什么 付费和一些注意事项 Create chat completion 最近ChatGPT这么火&#xff0c;那必须来凑个热闹啊。 申请账户我就不多说了&#xff0c;懂得都懂。 偷懒的编写一个API 从ChatGPT的Chat演示看&#xff0c;他需要一…

借AI之势,打破创意与想象的边界

IMMENSE、36氪&#xff5c;作者 01 “未来是属于AI的” 3月2日&#xff0c;内容创作圈大地震。 就在3月2日凌晨&#xff0c;OpenAI宣布开放ChatGPT本体模型API&#xff0c;其价格为1k tokens/$0.002。也就是说&#xff0c;从这一天开始&#xff0c;任何企业都能让ChatGPT为自…

谷歌的Bard怎么样?

Bard是什么&#xff1f; ChatGPT&#xff1a; Bard可以指以下几种事物&#xff1a; Bard是一个英雄联盟&#xff08;League of Legends&#xff09;游戏中的角色名称&#xff0c;他是一个能够进行攻击和治疗的辅助英雄。 Bard是指中世纪欧洲的一类文学艺术家&#xff0c;主要从…

实测「360智脑」的真正实力:能否领跑国内百“模”大战?

ChatGPT 的发布&#xff0c;无疑掀起了一股“AI 技术”新浪潮。百度文心一言、华为盘古、商汤日日新、阿里通义千问、讯飞星火等众多大模型的接连问世&#xff0c;使得国内的“百模之战”进入了前所未有的白热化阶段。无论是各大互联网巨头&#xff0c;还是清华、复旦等知名高校…

不止Chat,GPT-4 将释放更大生产力

目录 1.对 ChatGPT 的巨大超越 2.与 ChatGPT 相同的技术路线 3.GPT-4 背后的强大阵容 4.开启多模态大模型时代 相比 ChatGPT 能力有大进化&#xff0c;多模态上有突破但不多。 近日&#xff0c;多模态大模型 GPT-4 震撼登场&#xff01; GPT-4 能够接受图像和文本输入&am…

LoRA大模型加速微调和训练算法

ChatGPT带领着大模型像雨后春笋一般层出不穷&#xff0c;大家都对大模型微调跃跃欲试&#xff0c;现在咱们聊聊其中的常见的算法 1 LORA 低秩适应 理论 Lora( Low-Rank Adaotation)&#xff0c;低秩自适应模型微调的方法&#xff0c;它冻结预训练模型的权重&#xff0c;并将…

数据规模缩小 200 倍!指令微调高效指导大模型学习

夕小瑶科技说 原创 作者 | 智商掉了一地、Python 最近大型语言模型&#xff08;LLMs&#xff09;的指令微调备受研究人员的关注&#xff0c;因为它可以开发 LLM 遵循指令的潜力&#xff0c;使其更加符合特定的任务需求。虽然指令微调&#xff08;Instruction Tuning&#xff…

ChatGPT是否可以写出一篇论文

利用AI反哺教育和学术&#xff0c;在训练它写论文的过程中你学到的&#xff0c;比你自己写一篇论文学到的更多。让工具回归工具&#xff0c;让我们变成更好的我们&#xff01; 第一步&#xff1a;现象确认 第二步&#xff1a;学术概念化 第三步&#xff1a;定位优质的学术资源 …

网页版即时通讯聊天工具,支持主流浏览器,无需安装即可使用

基于信贸通即时通讯系统开发的网页版即时通讯&#xff0c;无需安装支持主流浏览器在线直接运行。可以与电脑版本和手机版本互通。支持文本聊天&#xff0c;标签&#xff0c;图片&#xff0c;文件传输&#xff0c;还支持位置接收等。 特点&#xff1a; 1、简单快速的集成到自己…

Ims跟2/3G会议电话(Conference call)流程差异介绍

2/3G Conference call 合并(Merged)通话前,两路电话只能一路保持(Hold),一路通话(Active)。 主叫Merged操作,Hold的一路会变成Active,进入会议通话。 例如终端A跟C通话,再跟B通话,此时B就是Active状态,C从Active变成Hold状态。Merged进入会议通话后,C又从Hold变…

英文学术会议参会必读-青年学者会议和演讲英语指南

本书介绍 本书讨论并展示在学术会议上使用的英语话语的类型&#xff0c;并从多角度为准会议参与者提供了指导。它是根据参加的众多学术会议的研究结果和作者的观察结果而得出的&#xff0c;基于对应用语言学的公认研究方法&#xff0c;以及针对学生&#xff0c;ESP老师&#xf…