Linux[高级管理]——Squid代理服务器的部署和应用(反向代理详解)

news2024/11/18 14:16:43

 

🏡作者主页:点击! 

👨‍💻Linux高级管理专栏:点击!

⏰️创作时间:2024年6月24日11点11分

🀄️文章质量:95分


目录

————前言————

Squid的几种模式

1. 传统模式

2. 透明模式

3. 反向代理模式

实验环境

1.Web服务器配置

2.代理服务器配置

3.PC机(外网)

4.访问测试

5.证明真理


————前言————

Squid是一种高性能的代理缓存服务器,用于改善网络性能、提供缓存服务以及增强网络安全性。它在企业网络和互联网服务提供商中广泛使用,尤其适用于加速web访问、减少带宽使用和提高网络访问控制。下面是Squid代理服务器的详细介绍,包括其功能、部署和应用。

建议从传统模式开始看,有squid的安装教程!

建议从传统模式开始看,有squid的安装教程!

建议从传统模式开始看,有squid的安装教程!

第一篇:Squid代理服务器的部署和应用(传统模式详解)

第二篇:Squid代理服务器的部署和应用(透明模式详解)

第三篇:Squid代理服务器的部署和应用(反向代理详解)

按着顺序观看效果更好

Squid的几种模式

Squid代理服务器可以部署在多种模式下,以满足不同的网络需求。下面是对Squid三种主要模式的介绍:传统模式、透明模式和反向代理模式。

1. 传统模式

传统模式(Forward Proxy)是最常见的代理模式,客户端显式地将请求发送到Squid代理服务器,由代理服务器转发请求到目标服务器,并将响应返回给客户端。

特点:

  • 客户端需要配置代理服务器的IP地址和端口。
  • 主要用于缓存和访问控制。
  • 常用于网络加速、带宽优化以及网络访问控制。

2. 透明模式

透明模式(Transparent Proxy)允许客户端无需配置代理设置,所有的流量通过网络设备(如路由器或防火墙)自动重定向到Squid代理服务器。

特点:

  • 客户端无需配置代理服务器。
  • 常用于企业网络以便无缝管理和控制网络流量。
  • 配置相对复杂,需要配合网络设备(如iptables或思科设备)。

3. 反向代理模式

反向代理模式(Reverse Proxy),也称为Web加速器模式,Squid代理服务器位于客户端和Web服务器之间,客户端请求被转发到代理服务器,再由代理服务器请求实际的Web服务器。通常用于加速Web应用和负载均衡。

特点:

  • 客户端请求无感知代理存在。
  • 提供Web服务器的缓存和负载均衡服务。
  • 常用于提高Web服务器的性能和可靠性。

本章节我们围绕反向代理的模式来讲解

前边文章有讲解 传统模式 透明模式的方式

建议从传统模式开始看,有squid的安装教程!

实验环境

一台代理服务器squid

两台web服务器

Web1:192.168.192.112

Web2:192.168.192.100

一台PC模拟外网通过squid反向代理访问内网web

1.Web服务器配置

首先就是web服务器的安装和配置

第一台192.168.192.112

关闭防火墙 selinux

yum install -y httpd

[root@localhost ~]# echo '22222222' > /var/www/html/index.html
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# curl 127.0.0.1 
11111111

第二台192.168.192.100

关闭防火墙 selinux

yum install -y httpd

[root@localhost ~]# echo '22222222' > /var/www/html/index.html
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# curl 127.0.0.1 
11111111

两台web服务器 内容一样

2.代理服务器配置

安装squid

自行安装 建议

建议从传统模式开始看,有squid的安装教程!

修改配置文件

 vim /etc/squid.conf
 
 http_access allow all	
 因为你做了反向代理你就不能拒绝所有的流量,你也不知道谁会访问你,所以你要允许所有访问
 
 http_port 100.0.0.1:80 accel vhost vport
 加速访问
 支持主机名访问
 支持端口访问
 
 cache_peer 192.168.192.112 parent 80 0 no-query originserver round-robin weight=1
cache_peer 192.168.192.100 parent 80 0 no-query originserver round-robin weight=1

解释如下了解即可

  • http_access allow all :此行允许所有 HTTP 流量通过 Squid 代理。对于生产环境,这不是推荐的设置,因为它对任何传入请求打开代理,这可能会带来安全风险。为了更安全的设置,您通常会限制对特定 IP 地址或网络的访问。

  • http_port 100.0.0.1:80 accel vhost vport :此行指定 Squid 应在加速器模式下侦听 IP 地址 100.0.0.1 和端口 80accel 关键字打开加速器模式, vhost 支持虚拟主机, vport 允许每个虚拟主机使用不同的端口。

  • cache_peer 行:这些行定义 Squid 将在反向代理设置中用作源服务器的后端服务器(对等点)。

    • cache_peer 192.168.192.112 parent 80 0 no-query originserver round-robin weight=1 :这定义了端口 80 上 IP 地址 192.168.192.112 的后端服务器。 parent 关键字将其指定为上游服务器, no-query 表示它不会使用 ICP/HTCP 查询来确定状态, originserver 表示它是源服务器服务器, round-robin 表示请求将以轮询的方式分发, weight=1 设置负载分发权重。
    • cache_peer 192.168.192.100 parent 80 0 no-query originserver round-robin weight=1 :这与上一行类似,但在 IP 地址 192.168.192.100 处定义了另一个后端服务器。

更改完成之后启动服务

squid

查看端口确保是80端口 如果不是那说明你的步骤出了问题

80端口

3.PC机(外网)

win7测试

关闭防火墙配置ip地址

返回代理服务器

ping测试保持连通性

4.访问测试

访问成功

接下来我们通过查看web服务器上的日志

查看访问的哪一台web服务器的服务

通过查看我们可以看到是 模拟外部的PC机访问的是192.168.192.100 的Web服务

虽然显示的是192.168.192.111 访问的web服务 但是显示的是Windows系统

我们代理服务器是Centos系统

web服务器100

我们使用代理服务器来访问查看显示什么信息

代理服务器访问

[root@localhost ~]# curl 192.168.192.100
111111111

再次查看web日志 很明显是不一样的

**总结**
5.证明真理

通过上述的日志证明

  1. 外部的PC访问内部的Web服务
  2. PC将请求交给Squid的外部接口
  3. 然后外接口的IP以内外的身份(也就是内外的接口)来进行访问服务

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

高效的向量搜索算法——分层可导航小世界图(HNSW)

最近在接触大模型相关内容,发现一种高效的向量搜索算法HNSW,这里做一下记录。 在之前自己也接触过一段时间的复杂网络(网络科学),没想到,将网络科学的思想引入到向量搜索算法中,可以产生令人眼前…

植物大战僵尸杂交版手机下载与安装全攻略

植物大战僵尸杂交版是一款深受玩家喜爱的策略冒险游戏,以其丰富的植物种类、多样的关卡设计和趣味的玩法著称。本文将为您提供详细的下载与安装教程,帮助您快速上手,享受游戏带来的乐趣。 游戏简介 植物大战僵尸杂交版在传统玩法的基础上&a…

C++修饰符类型

一、存储类运算符 auto(自动存储类,但在现代C中,它通常用于自动类型推导) register(建议编译器将变量存储在寄存器中,但现代编译器通常忽略此关键字) static(静态存储类&#xff…

zdppy_api+vue3+antd开发前后端分离的预加载卡片实战案例

后端代码 import api import upload import timesave_dir "uploads"async def rand_content(request):key api.req.get_query(request, "key")time.sleep(0.3)return api.resp.success(f"{key} " * 100)app api.Api(routes[api.resp.get(&qu…

泛型的使用(<T>)

文章目录 前言一、泛型是什么?二、泛型的使用 1.定义泛型类2.泛型的常规用法总结 前言 强制类型转换存在一定隐患,如数据丢失、内存溢出、运行时错误、程序逻辑错误等。所以提供了泛型机制,使程序员可以定义安全的数据类型进行操作。通俗的理…

比较(五)利用python绘制棒棒糖图

比较(五)利用python绘制棒棒糖图 棒棒糖图(Lollipop plot)简介 棒棒糖图实际上是修饰后的条形图。当在处理大量的值,并且当这些值都很高时,棒棒糖图就很有用。 快速绘制 基于matplotlib import pandas as…

基于单片机的 LED 花样照明时钟设计

摘要 : 本设计是基于单片机的 LED 花样照明 , 并附加时钟设计 . 单片机也叫微控制器 ( Micro Control Unit, 简称 MCU ), 因其价格低廉 , 功能强大 , 在实际应用中得到广泛认可 . 本设计…

基于单片机的 LED 照明灯智能调光系统设计

摘  要: 社会经济的不断发展,推动了智能化生活的进程,智能调光技术开始广泛应用在生活中,人们也逐渐提高了灯光亮灯率等的要求。基于此,笔者主要设计了基于单片机的 LED 照明灯智能调光系统,希望能够为相关…

remix测试文件测试智能合约

remix内其实也是可以通过编写测试文件来测试智能合约的,需要使用插件自动生成框架以及测试结果。本文介绍一个简单的HelloWorld合约来讲解 安装插件多重检测: (solidity unit testing) 编译部署HelloWorld合约 // SPDX-License-Identifier: MIT pragma solidity ^0.8.0;c…

喜报 | 极限科技获得北京市“创新型”中小企业资格认证

2024年6月20日,北京市经济和信息化局正式发布《关于对2024年度4月份北京市创新型中小企业名单进行公告的通知》,极限数据(北京)科技有限公司凭借其出色的创新能力和卓越的企业实力,成功获得“北京市创新型中小企业”的…

【SpringBoot Web框架实战教程】06 SpringBoot 整合 Druid

不积跬步,无以至千里;不积小流,无以成江海。大家好,我是闲鹤,微信:xxh_1459,十多年开发、架构经验,先后在华为、迅雷服役过,也在高校从事教学3年;目前已创业了…

wordpress 付费主题modown分享,可实现资源付费

该主题下载地址 下载地址 简介 Modown是基于Erphpdown 会员下载插件开发的付费下载资源、付费下载源码、收费附件下载、付费阅读查看隐藏内容、团购下载的WordPress主题,一款针对收费付费下载资源/付费查看内容/付费阅读/付费视频/VIP会员免费下载查看/虚拟资源售…

第二证券:股票型ETF持续“吸金” 上半年净流入逾4000亿元

2024年上半年行情收官,A股盈余板块领涨商场,银行指数大涨逾17%,居首;煤炭、公用事业两大职业指数均涨超10%。综合板块跌幅最大,上半年累计跌幅超33%;计算机、商贸零售、社会服务等指数均跌超20%。 在股票型…

周报0624-0701--输入CMP数据的准备

一、代码理解 目的:设计思路(根据) 【主程序】多进程,linux,tensorflow 随机生成速度模型的显示颜色,位置,大小 训练的多进程安排 创建目录、环境变量,来存储CMP地震数据 定义变量&…

六西格玛培训引领久立特材品质新高度,行业领军再升级

久立特材六西格玛管理项目于6月27 日启动。久立特材作为行业内的领军企业,此次引入六西格玛管理法,旨在进一步提升企业运营效率和产品质量,实现持续改进和卓越运营。 久立特材的高层领导与张驰咨询的资深顾问朱老师共同出席项目启动仪式&am…

DETRs Beat YOLOs on Real-time Object Detection论文翻译

cvpr 2024 论文名称 DETRs在实时目标检测上击败YOLO 地址 https://arxiv.longhoe.net/abs/2304.08069 代码 https://github.com/lyuwenyu/RT-DETR 目录 摘要 1介绍 2.相关工作 2.1实时目标探测器 2.2.端到端物体探测器 3.检测器的端到端速度 3.1.NMS分析 3.2.端到端速度…

百事可乐推出具有视频屏幕和人工智能技术的智能罐头

在最近于法国戛纳举行的国际创意节上,百事公司推出了创新的智能罐头。这些罐头不同于传统产品,它们采用了环绕式3D屏幕,能够展示高清视频内容,为品牌宣传和促销带来了全新的视角。经过两年多的精心研发,这些智能罐成为…

【数据结构与算法】探索数组在堆数据结构中的妙用:从原理到实现

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《数据结构与算法》 期待您的关注 ​​ 目录 一、引言 二、堆的基本概念 🍃堆的特性 🍃堆的分类 三、…

Python Tkinter:开发一款文件加密解密小工具

在这个信息泄露风险日益增加的时代,使用文件加密工具对于保护个人隐私和企业机密至关重要。 本文介绍了一款小工具——encryptDecrypt,它不仅提供了一个易于使用的图形界面,简化了加密和解密过程,还确保了数据的安全性&#xff0c…