Squid简单使用

news2025/1/5 12:40:19

介绍

Squid 是一款强大的代理服务器,主要设计用于 HTTPHTTPS 流量代理,此外也支持一些其他的协议,如WebSocket(基于 HTTP 协议的实时通信)、 SSL 隧道(CONNECT 方法)等。

使用方法

使用宿主机安装squid

参考文章

使用docker容器

建议先参考宿主机安装squid中的一些操作步骤,需要检查的一些事项

docker volume create squid_data
docker run -dit \
    --restart=unless-stopped \
    -p 3128:3128 \
    --name squid \
    -v squid_data:/etc/squid \
    registry.cn-hangzhou.aliyuncs.com/zhqing/squid:latest

# volume suqid_data 挂载容器的/etc/squid ,方便之后进行squid配置的修改

等待容器启动后,配置文件进行一些必要的修改。

容器内位置:/etc/squid/squid.conf

volume中:${dockerDir}/volume/squid_data/_data/squid.conf

  1. vim打开squid.conf,找到http_access deny all 修改为http_access allow all
  2. 然后再配置文件中搜索 443 ,可以找到下面的配置。
acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http


# 加上一行
acl SSL_ports port 443
acl SSL_ports port 1025-65535  # 指定https协议使用的端口
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http

# 在上面配置的端口或者在1025-65535范围的端口(http、https协议)就都可以通过代理进行访问了

然后再客户端配置上代理,就可以了。

Squid 的典型应用场景

  • 企业环境
    • 限制员工访问某些网站。
    • 提高网络性能,减少带宽开销。
  • 教育机构
    • 管理学生访问互联网的权限。
    • 提供内容过滤功能。
  • ISP 和数据中心
    • 通过缓存加速访问,提高用户体验。
  • 个人用途
    • 搭建家庭网络代理,管理设备的访问流量。

注意事项

上面的配置http_assess allow all在做测试或者安全性需求不高的环境中使用,如果重视网络安全需要进行颗粒度更为细致的配置。

可能带来的问题

  1. 安全风险
    • 外部滥用:如果代理服务器暴露在公共网络中,http_access allow all 可能导致你的服务器被用作开放代理,成为攻击者中继工具。
    • 内部滥用:用户可以通过代理访问受限制的资源或发送大量请求。
  2. 隐私问题
    • 所有用户请求都会被代理服务器记录(如 access.log),敏感信息可能被泄露。
  3. 带宽消耗
    • 没有限制的访问规则可能导致服务器带宽被耗尽。

更安全的替代方案

如果不想允许所有访问,可以使用访问控制列表(ACL)进行精细化的规则配置。例如:

1. 仅允许特定网段访问
acl localnet src 192.168.1.0/24
http_access allow localnet
http_access deny all
  • 仅允许来自 192.168.1.0/24 的客户端访问。
2. 限制访问时间
acl work_hours time MTWHF 09:00-17:00
http_access allow work_hours
http_access deny all
  • 仅允许在工作时间访问。
3. 限制目标域名
acl allowed_sites dstdomain .example.com .trusted-site.com
http_access allow allowed_sites
http_access deny all
  • 仅允许访问指定的域名。

参考文章

https://bu1.github.io/2021/12/04/%E4%BD%BF%E7%94%A8Squid%E6%90%AD%E5%BB%BAHTTP%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1%E5%99%A8/

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

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

相关文章

HTML-CSS-常见标签与样式

目录 一. 央视新闻排版1.1 标题1.2 正文1.3 案例1.3.1 顶部导航栏1.3.2 flex布局1.3.3 表单标签1.3.4 表单项标签1.3.5 表格 1.3 课程总结 \quad 一. 央视新闻排版 \quad \quad 1.1 标题 \quad ALTp就是用AI快速生成 标题一共有6级 \quad 1.2 正文 \quad 定义视频 定义图片 样…

c++领域展开第九幕——类和对象(下篇收尾 友元函数、内部类、拷贝对象时的编译器优化)超详细!!!!

文章目录 前言一、友元函数二、内部类三、匿名对象四、对象拷贝时的编译器优化总结 前言 上篇博客我们学习了类和对象后期的一些内容——初始化列表、类型转换、static成员 今天我们来对类和对象进行最后的收尾 开始发车啦 一、友元函数 • 友元提供了一种突破类访问限定符封装…

LevelDB 源码阅读:利用 Clang 的静态线程安全分析

LevelDB 中有一些宏比较有意思,平时自己写代码的时候,还基本没用过。这些宏在 thread_annotations.h 中定义,可以在编译时使用 Clang 编译器的线程安全分析工具,来检测潜在的线程安全问题。 比如下面这些宏,到底有什么…

什么是实体完整性约束?

实体完整性约束是数据库设计中的一个核心概念,它确保了关系数据库中每个实体的唯一性和可标识性。以下是对实体完整性约束的详细解释: 一、定义 实体完整性约束是指关系的主关键字(Primary Key)不能重复,也不能取“空值…

OpenCV-Python实战(15)——像素直方图均衡画

一、像素均值与标准差 1.1 像素均值 cv2.mean() mean_val cv2.mean(img,mask*) mean_val:图像 BGR 通道的均值和透明度。 img:图像。 mask:可以选择是否添加掩膜,默认为:None。 import cv2 import numpy as npim…

推理加速:投机采样经典方法

一 SpecInfer 基于模型 SpecInfer([2305.09781] SpecInfer: Accelerating Generative Large Language Model Serving with Tree-based Speculative Inference and Verification) SpecInfer 投机采样利用多个小型模型(SSM)快速生…

Docker学习相关笔记,持续更新

如何推送到Docker Hub仓库 在Docker Hub新建一个仓库,我的用户名是 leilifengxingmw,我建的仓库名是 hello_world。 在本地的仓库构建镜像,注意要加上用户名 docker build -t leilifengxingmw/hello_world:v1 .构建好以后,本地会…

数据挖掘——支持向量机分类器

数据挖掘——支持向量机分类器 支持向量机最小间隔面推导基于软间隔的C-SVM非线性SVM与核变换常用核函数 支持向量机 根据统计学习理论,学习机器的实际风险由经验风险值和置信范围值两部分组成。而基于经验风险最小化准则的学习方法只强调了训练样本的经验风险最小…

HTML——54. form元素属性

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>form元素属性</title></head><body><!--form标签用于创建一个表单&#xff0c;会将里面的内容一起发送服务器&#xff0c;结构类似于表格--><!-…

拓扑排序模板题:洛谷-家谱树

原题链接&#xff1a;B3644 【模板】拓扑排序 / 家谱树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目&#xff1a; 题目描述 输入格式 输出格式 输入输出样例 思路&#xff1a; AC代码&#xff1a; 题目&#xff1a; 题目描述 有个人的家族很大&#xff0c;辈分…

JS实现SVG的TEXT标签自动换行功能

首先定义了一个RectAndText组件&#xff0c;这个组件实现了在矩形中显示居中的文本&#xff08;矩形可以根据自己需求要或者不要&#xff09; <template><rect :x"x" :y"y" :width"width" :height"height" :stroke"str…

网络安全 | 量子计算与网络安全:未来的威胁与机遇

网络安全 | 量子计算与网络安全&#xff1a;未来的威胁与机遇 一、前言二、量子计算对传统密码学的威胁2.1 量子计算原理概述2.2 量子计算破解密码的原理2.3 量子计算威胁的广泛影响 三、量子安全密码学&#xff1a;新的机遇3.1 量子安全密码学的研究方向3.2 量子安全密码学的安…

性能测试核心知识点 —— 负载模型!

性能测试是软件开发生命周期中非常重要的一环&#xff0c;通过对系统进行负载测试&#xff0c;可以评估系统在不同负载条件下的性能表现。而负载模型则是负载测试中的关键概念&#xff0c;它定义了测试的目标、策略、参数和流程&#xff0c;是进行性能测试的基础。 一、负载模型…

AURIX的TASKING链接文件语法学习

链接文件中的定义&#xff1a; group (ordered, contiguous, align 4, attributesrw, run_addr 0x70005000)//mem:dsram0){select ".data.user_test_data";select "(.data|.data*)";//select "(.bss|.bss*)"; //select ".bss.…

电脑dll文件丢失怎么恢复,丢失dll文件一键修复教程分享

动态链接库文件&#xff08;DLL&#xff09;是Windows操作系统中至关重要的组成部分&#xff0c;它们包含了许多程序运行所需的函数和资源。当电脑丢失DLL文件时&#xff0c;会导致软件无法正常运行&#xff0c;甚至影响系统的稳定性。本文将从多个角度全面分析解读电脑丢失DLL…

Vue项目整合与优化

前几篇文章&#xff0c;我们讲述了 Vue 项目构建的整体流程&#xff0c;从无到有的实现了单页和多页应用的功能配置&#xff0c;但在实现的过程中不乏一些可以整合的功能点及可行性的优化方案&#xff0c;就像大楼造完需要进行最后的项目验收改进一样&#xff0c;有待我们进一步…

面向机器学习的Java库与平台

学习Java语言中与机器学习相关的各种库与平台&#xff0c;了解每个库的功能&#xff0c;以及可以用它 们解决的问题。  实现机器学习应用时需要具备的Java环境  Weka&#xff1a;一个通用的机器学习平台  Java机器学习库&#xff1a;一系列机器学习算法  Apache Mah…

SAP SD学习笔记24 - 赠品的两种形式 - 内增Bonus数量、外增Bonus数量

上一章讲了无偿出荷的内容。 SAP SD学习笔记23 - 无偿出荷&#xff08;免费交货&#xff09;与继续无偿出荷&#xff08;继续免费交货&#xff09;-CSDN博客 本章继续将SAP中赠品的两种形式&#xff1a; - 内增Bonus数量&#xff1a;Bonus数量包含在总数量当中&#xff0c;比…

Python跨年烟花

目录 系列文章 写在前面 技术需求 完整代码 下载代码 代码分析 1. 程序初始化与显示设置 2. 烟花类 (Firework) 3. 粒子类 (Particle) 4. 痕迹类 (Trail) 5. 烟花更新与显示 6. 主函数 (fire) 7. 游戏循环 8. 总结 注意事项 写在后面 系列文章 序号直达链接爱…

深入理解MemCache

随着互联网应用的飞速发展&#xff0c;动态Web应用的性能问题逐渐成为开发者关注的焦点。其中&#xff0c;数据库作为系统性能的关键瓶颈&#xff0c;在用户请求量急剧增加的情况下&#xff0c;往往难以快速响应用户需求。为了解决这一问题&#xff0c;缓存技术应运而生。MemCa…