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

 

🏡作者主页:点击! 

👨‍💻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

关闭防火墙 selinuxyum 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

关闭防火墙 selinuxyum 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.confhttp_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.mzph.cn/pingmian/38568.shtml

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

相关文章

【Python】模型指标阈值计算方法

那年夏天我和你躲在 这一大片宁静的海 直到后来我们都还在 对这个世界充满期待 今年冬天你已经不在 我的心空出了一块 很高兴遇见你 让我终究明白 回忆比真实精彩 🎵 王心凌《那年夏天宁静的海》 from sklearn.metrics import confusion_matri…

游戏录制视频软件哪个好?这份攻略帮你搞定!

随着游戏行业的快速发展,越来越多的玩家开始录制游戏视频,以便分享自己的游戏体验或保存珍贵回忆。而选择一款合适的游戏录制视频软件显得尤为重要。可是游戏录制视频软件哪个好呢?本文将为大家介绍两款优秀的游戏录制视频软件,通…

【国产开源可视化引擎Meta2d.js】快速上手

提示 初始化引擎后,会生成一个 meta2d 全局对象,可直接使用。 调用meta2d前,需要确保meta2d所在的父容器element元素位置大小已经渲染完成。如果样式或css(特别是css动画)没有初始化完成,可能会报错&…

Vatee万腾平台:科技驱动,智慧生活

随着科技的飞速发展,我们生活的方方面面正在经历前所未有的变革。Vatee万腾平台,作为这一变革的推动者之一,以其科技驱动的理念,正引领我们迈向更加智慧、便捷的生活。 Vatee万腾平台,是一个集科技研发、应用创新、服务…

Unity热更方案HybridCLR+YooAsset,纯c#开发热更,保姆级教程,从零开始

文章目录: 一、前言二、创建空工程三、接入HybridCLR四、接入YooAsset五、搭建本地资源服务器Nginx六、实战七、最后 一、前言 unity热更有很多方案,各种lua热更,ILRuntime等,这里介绍的是YooAssetHybridCLR的热更方案&#xff0…

jvm性能监控常用工具

在java的/bin目录下有许多java自带的工具。 我们常用的有 基础工具 jar:创建和管理jar文件 java:java运行工具,用于运行class文件或jar文件 javac:java的编译器 javadoc:java的API文档生成工具 性能监控和故障处理 jps jstat…

鸿蒙应用更新跳转到应用市场

鸿蒙没有应用下载安装,只支持跳转到应用市场更新 gotoMarket(){try {const request: Want {parameters: {// 此处填入要加载的应用包名,例如: bundleName: "com.huawei.hmsapp.appgallery"bundleName: com.huawei.hmos.maps.app}}…

浅谈定时器之常数吞吐量定时器

浅谈定时器之常数吞吐量定时器 常数吞吐量定时器的主要目的是在JMeter测试中维持一个恒定的吞吐量(通常是每分钟的请求数或事务数),从而确保测试能够以预期的负载水平运行。这对于模拟特定的用户访问模式、进行稳定性测试、负载测试以及压力…

171. Excel 表列序号

给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。 例如: A -> 1 B -> 2 C -> 3 … Z -> 26 AA -> 27 AB -> 28 … 示例 1: 输入: columnTitle “A” 输出: 1 示例 2: 输入: columnTitle “…

量化交易 - 策略回测

策略回测 1、什么是策略回测?2、策略回测的作用3、策略回测系统概述3.1策略回测中相关的指标介绍3.2量化交易策略的资金容量3.3 完整的策略回测系统包含哪些内容 1、什么是策略回测? 策略回测,也称之为策略回溯测试,是指利用交易…

北京酒店订房小程序开发的优势与主要功能

随着我国经济与交通的飞速发展,人们出行的次数越来越多,频率也越来越快。无论是出差还是出游,人家对外出酒店的舒适度与便捷度的要求也越来越高。为了满足人们对于酒店的新需求,北京酒店订房小程序与互联网技术相结合,…

Vue监听localstorage变化的方法详解(待更新)

我现在用token做登录身份验证,使用到localStorage,在computed中编写“函数”,根据localStorage的值,在导航栏显示不同的链接,我发现computed中编写的“函数”不会监控localStorage取值的变化 Vue 仅可以对其管理的数据…

pbootcms后台获取前端表单留言页面url

pbootcms在线留言表单,用户在网页前端提交表单成功后,在网站后台如何获取表单留言页面的url这个参数呢?下面举例说明:首先,我们在PBootcms后台对应的表单,添加需要记录的表单字段,例如 添加liuy…

Java面试题:对比HTTP的GET和POST方法,并讨论它们的使用场景

HTTP的GET和POST方法是用于在客户端和服务器之间交换数据的两种基本请求方法。它们有不同的特性和使用场景。 GET方法 特性 数据在URL中传输:GET请求的数据附加在URL的末尾,通过查询字符串传输。数据长度限制:由于浏览器和服务器对URL长度…

算法刷题笔记 双链表(C++实现)

文章目录 题目描述基本思路实现代码 题目描述 实现一个双链表,双链表初始为空,支持5种操作: 在最左侧插入一个数;在最右侧插入一个数;将第k个插入的数删除;在第k个插入的数左侧插入一个数;在第k…

免费开源AI生产力工具:内置专属ChatGPT、一键智能处理图片和视频(擦除水印、卡通漫画、无损放大、插值补帧、智能修复、3D转制、上色修复、合成整理)

AI 生产力工具 免费开源,提升用户生产力,保障隐私和数据安全。提供高效便捷的AI解决方案,包括但不限于:内置专属ChatGPT、一键批量智能处理图片和视频等。 主要特点 免费开源:免费使用,源代码开放&#…

odoo 安装/升级/卸载调用方法

原生升级/卸载 调用的方法记录 安装模块 button_immediate_install()升级模块 button_immediate_upgrade()卸载模块 button_immediate_uninstall()shell语句 安装/升级/卸载

大数据面试题之Spark(3)

目录 Spark的哪些算子会有shuffle过程? Spark有了RDD,为什么还要有Dataform和DataSet? Spark的RDD、DataFrame、DataSet、DataStream区别? Spark的Job、Stage、Task分别介绍下,如何划分? Application、job、Stage、task之间的关系 Stage内部逻辑…

性价比高真无线蓝牙耳机有哪些?性价比真无线蓝牙耳机推荐

目前真无线蓝牙耳机的音质和性能已经越来越接近甚至超越传统有线耳机。然而,市面上的TWS耳机品牌和型号繁多,价格也从几十元到几千元不等,性价比自然成了消费者选择时的重要考量因素,究竟哪些真无线蓝牙耳机既能够提供满意的音质和…

【408考点之数据结构】顺序查找和折半查找

顺序查找和折半查找 在数据处理中,查找操作是非常重要的一部分。顺序查找和折半查找是两种常见的查找方法,它们各有优缺点和适用场景。以下是对这两种查找方法的详细介绍。 1. 顺序查找 定义:顺序查找(Sequential Search&#…