当前位置: 首页 > news >正文

正向代理、反向代理机制与 Windows和Linux系统代理设置

0、什么是代理?

代理 是一种位于客户端和目标服务器之间的中间服务器。

客户端 <---> 代理服务器 <---> 目标服务器

1、正向代理(为客户端代理)

1.1、概念

当客户端向目标服务器发起请求时,不会直接连接目标服务器。
客户端将请求发送至代理服务器,由代理服务器代替客户端去和目标服务器进行通信,最后再将目标服务器的响应返回给客户端。

1.2、典型应用场景

  • 突破访问限制:比如在某些网络环境下,部分网站被限制访问,用户可以通过设置代理服务器来绕过这些限制,也就是俗称的“翻墙”。
  • 提高访问速度:代理服务器可以缓存经常访问的网页内容,当客户端再次请求相同内容时,代理服务器可以直接从缓存中提供数据,而无需再次向目标服务器请求。

1.3、在系统中设置代理

1.3.1、Windows系统

1.3.1.1、桌面环境设置代理

通过“设置”——“网络和Internet”——“代理”,如下图:
在这里插入图片描述

1.3.1.1、设置临时代理

你可以在命令行中设置环境变量,此方法仅在当前打开的命令行窗口生效,关闭窗口后设置就会失效。

  • HTTP 代理设置
set http_proxy=http://代理服务器地址:端口号
  • HTTPS 代理设置
set https_proxy=http://代理服务器地址:端口号

注意:设置https_proxy,后面也是http://,而不是https://

示例:假设代理服务器地址是127.0.0.1,端口号为7890,则可使用以下命令进行设置:

set http_proxy=http://127.0.0.1:7890
set https_proxy=http://127.0.0.1:7890
1.3.1.2、设置永久代理

可以通过“环境变量”设置永久代理,选择“用户变量”是对当前用户生效,选择“系统变量”是对所有用户生效,如下图:
在这里插入图片描述

1.3.2、Linux系统

1.3.2.1、设置临时代理

临时设置仅对当前终端会话有效,关闭终端后设置即失效。可以通过设置环境变量来实现。

# 设置 HTTP 代理
export http_proxy=http://代理服务器地址:端口号
# 设置 HTTPS 代理
export https_proxy=http://代理服务器地址:端口号
# 设置 FTP 代理
export ftp_proxy=http://代理服务器地址:端口号
# 设置不需要使用代理的地址列表
export no_proxy="localhost,127.0.0.1,本地地址"
1.3.2.2、设置永久代理

要让代理设置在每次系统启动后都生效,需要将环境变量配置添加到相应的配置文件中。

对于使用 Bash shell 的用户,比如Ubuntu、CentOS、Fedora 等,可以将代理设置添加到 ~/.bashrc/etc/profile 文件中,在文件末尾添加以下内容:

export http_proxy=http://代理服务器地址:端口号
export https_proxy=http://代理服务器地址:端口号
export ftp_proxy=http://代理服务器地址:端口号
export no_proxy="localhost,127.0.0.1,本地地址"

保存并退出文件,然后执行以下命令使配置生效:

source ~/.bashrc

2、反向代理(为目标服务器代理)

2.1、概念

当客户端向目标服务器发起请求时,不会直接连接目标服务器。
客户端以为直接在和目标服务器进行通信,但实际上是在和反向代理服务器通信,反向代理服务器依据预设规则接收、处理请求,并将请求转发至后端真实的目标服务器。

2.2、典型应用场景

  • 隐藏服务器真实IP:对外只暴露反向代理服务器的IP地址,隐藏了内部真实服务器的IP,提高了服务器的安全性。
  • 负载均衡:将客户端的请求均匀地分配到多个真实服务器上,避免单个服务器负载过高,提高系统的处理能力和响应速度。
http://www.xdnf.cn/news/230005.html

相关文章:

  • 插入到word里面的用origin画的图,怎么获取图片细节?
  • AI伦理与监管:全球政策对比与中国实践
  • 【MongoDB篇】MongoDB的文档操作!
  • 数字中国的建设之路:超聚变以“智算数能”四大密钥,共建智能体时代
  • Django 学习指南:从入门到精通(大体流程)
  • VSU虚拟化主机
  • Qwen3 模型架构和能力概览
  • C# 接口 概述
  • 数据结构之双链表
  • Vue3中到达可视区域后执行
  • mac电脑pytest生成测试报告
  • Java高阶程序员学习计划(详细到天,需有一定Java基础)
  • Webug4.0通关笔记06- 第8关CSV注入
  • golang接口和具体实现之间的类型转换
  • 分布式架构:Dubbo 协议如何做接口测试
  • 定时任务xxl-job国产化改造,适配磐维数据库(PostgreSQL)
  • OpenHarmony - 小型系统内核(LiteOS-A)(完),内核编码规范
  • Arduino项目实战与编程技术详解
  • Python爬虫学习路径与实战指南 04
  • (Go Gin)Gin学习笔记(三)数据解析和绑定:结构体分析,包括JSON解析、form解析、URL解析,区分绑定的Bind方法
  • 【思考】欧洲大停电分析
  • 0.安装两个版本的JDK8和JDK17并配置环境变量
  • 用Ai学习wxWidgets笔记——自制wxWidgets开发参考手册(主体)
  • MVC与MVP设计模式
  • 数据接收全流程图(物理网卡 → 应用层)
  • 第16篇:Linux设备驱动程序入门<三>
  • 自定义项目中导入文件import顺序
  • 前端 - 冷加载和热加载有什么区别?
  • DeepSeek谈《凤凰项目 一个IT运维的传奇故事》
  • 设计模式(构建者模式)