squid服务器

目录

squid初识

安装squid代理

常用命令

主要配置文件

正向代理

环境配置

linux服务器设置

windows客户端设置

反向代理

环境配置

在web服务器配置服务

linux服务器配置

squid初识

含义:squid cache是一个流行的自由软件(GNU通用公共许可证)的代理服务器和web缓存服务器。

原理:通过squid可以实现用户的快速访问功能,当用户想要下载一个主页时,可以向squid发起一个申请,要squid代替其进行下载,然后squid连接所申请的网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,squid把保留的备份立即传给用户,使用户觉得速度相当快

官网:squid : Optimising Web Delivery

注意:squid服务默认端口为3128

squid代理分类

  • 正向代理
  • 反向代理
  • 透明代理

安装squid代理

检查软件是否安装: rpm -qa | grep squid

注意:没有任何反应表示没安装。

安装:yum -y install squid

常用命令

设置开机自启动:systemctl enable squid.service

关闭开机自启动:systemctl disable squid.service

手动开启squid:systemctl start squid.service

手动关闭squid:systemctl stop squid.service

查看squid服务状态:systemctl status squid

注意:squid配置文件位置——/etc/squid/squid.conf

主要配置文件

http_port 192.168.233.128:3128            //设置监听的ip和端口
cache_mem 64 MB                           //额外提供给squid使用的内存
maximum_object_size 4 MB                  //设置squid磁盘缓存最大文件,超过4MB的文件不保存到硬盘
minimum_object_size 0 KB                  //设置squid磁盘缓存最小文件
maximum_object_size_in_memory 4096 KB     //设置squid内存缓存最大文件
cache_dir ufs /var/spool/squid 100 16 256 //定义squid的catch存放路径、catch目录容量(单位M)、一级缓存目录数量、二级缓存目录数量
//定义log文件日志格式
logformat combined %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt.
//log文件存放路径和日志格式
access_log /var/log/squid/access.log combined
cache_log /var/log/squid/cache.log        //设置缓存日志
logfile_rotate 60                         //log轮询60天
cache_swap_high 95                        //cache目录使用量大于95%时,开始清理旧的cache
cache_swap_low 90                         //cache目录清理到90%时停止
acl localnet src 192.168.1.0/24           //定义外网网段
acl lan src 192.168.233.0/24              //定义内网网段
acl SSL_ports port 443
acl Safe_ports port 53
http_access allow localnet                //允许外网网段使用
http_access allow lan                     //允许内网网段使用
http_access deny all                      //拒绝所有
visible_hostname linuxserver              //主机名(随便起)
cache_mgr mchina_tang@qq.com              //管理员邮箱

正向代理

环境配置

  • windows虚拟机:一块网卡采用仅主机模式,(ip:192.168.233.188)
  • linux虚拟机:两块网卡,一块网卡采用仅主机模式(ip:192.168.233.128)一块网卡采用桥接模式(ip:192.168.1.35)
  • 外围物理机:windows系统,ip地址为192.168.1.14

解释:仅主机模式封闭无法访问外网,外围物理机可以访问外网,我要linux网卡1桥接到外围物理机可以上网,网卡2仅主机模式可以与windows虚拟机相互通信,让linux虚拟机成为windows虚拟机的代理服务器实现windows虚拟机上网。

linux服务器设置

编辑配置文件:vi /etc/squid/squid.conf

配置文件

http_port 192.168.233.128:3128
cache_dir ufs /var/spool/squid 100 16 256
logformat combined %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt.
access_log /var/log/squid/access.log combined
cache_log /var/log/squid/cache.log
acl localnet src 192.168.1.0/24
acl lan src 192.168.233.0/24
http_access allow localnet
http_access allow lan
http_access deny all
visible_hostname linuxserver

初始化squid缓存目录:squid -z

查看初始化生成的文件:ls /var/spool/squid/

启动squid服务:systemctl start squid.service

注意:开放端口3128才可以

windows客户端设置

安装代理插件——SwitchyOmega

配置代理并使用

结果:windows客户机可以上网(将本机的请求上传到192.168.233.128的3128端口,代理服务器收到后将请求对应的服务器并且响应给windows客户机)

注意:你的代理服务器必须得让你的客户机访问到才可以

反向代理

环境配置

  • windows server虚拟机:一块网卡采用仅主机模式,(ip:192.168.233.132)
  • linux虚拟机:两块网卡,一块网卡采用仅主机模式(ip:192.168.233.129)一块网卡采用桥接模式(ip:192.168.1.35)
  • 一部手机:对应的IP地址为192.168.1.12,仅用于外部访问

解释:windows server作为web服务器,在仅主机模式下模拟内网;而linux的网卡1仅主机模式下与windows server通信,网卡2在桥接模式下模拟外网与手机通信,从而linux作为反向代理服务器接收手机请求,转发给内网的windows server。

在web服务器配置服务

在d盘根目录下进行如下操作

将该网页文件发布到web服务器IIS中

打开iis点击服务器图标,选择网站右击添加网站

本地和仅主机访问http://192.168.233.132:8080请求成功 

linux服务器配置

 编辑配置文件:vi /etc/squid/squid.conf

配置文件

//linux主机监听192.168.1.35的3129端口
http_port 192.168.1.35:3129 accel vhost vport
//将端口的请求转发到192.168.233.132的8080端口上
cache_peer 192.168.233.132 parent 8080 0 no-query no-digest originserver
cache_dir ufs /var/spool/squid 100 16 256
logformat combined %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt.
access_log /var/log/squid/access.log combined
cache_log /var/log/squid/cache.log
http_access allow all

注意:

  • 要把监听端口的请求引导到哪台主机上,用cache_peer来管理
  • catch_peer可以写多个,用来配置负载均衡

启动squid服务:systemctl start squid.service

结果:手机访问192.168.1.35:3129地址成功。

理解:linux代理服务器监听3129端口,当有人请求3129端口后,那么就会将请求转发到192.168.233.123的8080端口上,进而实现了反向代理服务器的功能。

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

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

相关文章

Docker 安装rabbitmq:3.12-management

拉取镜像&#xff1a; docker pull rabbitmq:3.12-management mkdir -p /usr/local/rabbitmq chmod 777 /usr/local/rabbitmq docker run -id --restartalways --namerabbitmq -v /usr/local/rabbitmq:/var/lib/rabbitmq -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_U…

Docker容器学习:搭建ownCloud个人网盘

目录 前提环境 拉取镜像 创建容器 创建mysql容器&#xff1a; 创建OwnCloud容器&#xff0c;并连接到数据库&#xff1a; 创建Nginx容器&#xff1a; 配置nignx 前提环境 基于Centos7.9版本环境安装Docker-ce&#xff1a;24.0.5 拉取镜像 docker pull mysql:5.6 dock…

【C++入门】new和delete(C/C++内存管理)

目录 1.C/C内存分布2.C语言中动态内存管理方式3.C内存管理方式3.1new/delete操作内置类型3.2new和delete操作自定义类型 4.operator new与operator delete函数5.new和delete的实现原理5.1内置类型5.2自定义类型 6.malloc/free和new/delete的区别7.定位new表达式&#xff08;了解…

024:vue中动态添加ref,通过ref更改css

第024个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使…

【日常积累】Linux中vi/vim的使用

概述 vim是由vi发展演变过来的文本编辑器&#xff0c;因其具有语法高亮显示、多视窗编辑、代码折叠、支持插件等功能&#xff0c;由于其功能相比vi来说更加强大&#xff0c;所以在实际工作中的使用更加广泛。 vim工作模式 Vim具有多种工作模式&#xff0c;常用的工作模式有&…

在外Windows远程连接MongoDB数据库【无公网IP】

文章目录 前言1. 安装数据库2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射2.3 测试随机公网地址远程连接 3. 配置固定TCP端口地址3.1 保留一个固定的公网TCP端口地址3.2 配置固定公网TCP端口地址3.3 测试固定地址公网远程访问 前言 MongoDB是一个基于分布式文件存储的数…

Midjourney API 的对接和使用

“ 阅读本文大概需要 4 分钟。 ” 在人工智能绘图领域&#xff0c;想必大家听说过 Midjourney 的大名吧。 Midjourney 以其出色的绘图能力在业界独树一帜。无需过多复杂的操作&#xff0c;只要简单输入绘图指令&#xff0c;这个神奇的工具就能在瞬间为我们呈现出对应的图像。无…

VUE笔记(一)初识vue

一、vue的简介 1、什么是vue 官网地址:Vue.js Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套用于构建用户界面的渐进式框架。 构建用户界面&#xff1a;之前在学习vue之前通过原生js对DOM操作进行构建用户界面的 使用原生js构建用户界面的不足 - 没有规范&#xff0c…

Kubernetes(K8S)使用PV和PVC做存储安装mysql

Kubernetes使用PV和PVC做存储安装mysql 环境准备什么是PV和PVC环境准备配置nfs安装nfs配置nfs服务端 创建命名空间配置pv和pvcpv的yaml文件pvc的yaml文件 部署mysql创建mysql的root密码的secret创建mysql部署的yaml部署mysql链接mysql外部链接内部链接 环境准备 首先你需要一个…

git 基础入门

Git基础入门 Git是一个分布式 版本管理系统&#xff0c;用于跟踪文件的变化和协同开发。 版本管理&#xff1a;理解成档案馆&#xff0c;记录开发阶段各个版本 分布式&集中式 分布式每个人都有一个档案馆&#xff0c;集中式只有一个档案馆。分布式每人可以管理自己的档案…

HodlSoftware-免费在线PDF工具箱 加解密PDF 集成隐私保护功能

HodlSoftware是什么 HodlSoftware是一款免费在线PDF工具箱&#xff0c;集合编辑 PDF 的简单功能&#xff0c;可以对PDF进行加解密、优化压缩PDF、PDF 合并、PDF旋转、PDF页面移除和分割PDF等操作&#xff0c;而且工具集成隐私保护功能&#xff0c;文件只在浏览器本地完成&…

SQLI-labs-第一关

知识点&#xff1a;单引号字符型注入 思路&#xff1a; 1、根据提示&#xff0c;为get注入&#xff0c;在url中输入内容 2、判断注入点 输入?id1&#xff0c;显示数据库语句错误&#xff0c;说明这里存在sql注入漏洞 输入?id1‘ and 11 -- &#xff0c;回显正常&#xff0c…

webpack5(一)

什么是webpack webpack是一个静态资源打包工具&#xff0c;它会以一个或者多个文件作为打包的入口&#xff0c;将整个项目的所有文件编译组合成一个或多个文件输出出去。输出的文件就是编译好的文件&#xff0c;可以在浏览器端运行。一般将 webpack 输出的文件称为 bandle 。 …

Linux操作系统--网络配置(2)

在上一次课程中,我们对Linux课程中的网络有了一个了解,下面我们来看看如何配置网络IP。 1.配置网络IP地址 在Linux操作系统中,比如搭建集群,这一个时候如果使用DHCP实现动态IP的分配,那么如果需要访问管理其中一个节点操作时候,就需要通过其IP访问。这一个时候还得去查看…

RabbitMQ死信队列

RabbitMQ死信队列 1、过期时间TTL 过期时间TTL表示可以对消息设置预期的时间&#xff0c;在这个时间内都可以被消费者接收获取&#xff1b;过了之后消息将自动被 删除。RabbitMQ可以对消息和队列设置TTL&#xff0c;目前有两种方法可以设置&#xff1a; 第一种方法是通过队列…

广汽埃安,新能源扛把子?继比亚迪、理想之后实现正“盈利”

根据广汽集团日前披露的2023年半年度报告&#xff0c;广汽埃安在今年的六七月份连续两个月实现盈利&#xff0c;成为继比亚迪、理想之后&#xff0c;第三家实现盈利的国产新能源汽车品牌。这一成绩进一步表明广汽埃安在国内新能源汽车市场的竞争力以及其持续增长的势头。报告显…

PHP教学资源管理系统Dreamweaver开发mysql数据库web结构php编程计算机网页

一、源码特点 PHP 教学资源管理系统是一套完善的web设计系统&#xff0c;对理解php编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 源码 https://download.csdn.net/download/qq_41221322/88260480 论文 https://downl…

Matlab图像处理-减法运算

减法运算 图像减法也称为差分方法&#xff0c;是一种常用于检测图像变化及运动物体的图像处理方法。常用来检测一系列相同场景图像的差异&#xff0c;其主要的应用在于检测同一场景下两幅图像之间的变化或是混合图像的分离。 差影法 将同一景物在不同时问拍摄的图像或同一景…

MATLAB软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 MATLAB是Matrix Laboratory的缩写&#xff0c;是一款由美国MathWorks公司开发的商业数学软件。它主要用于进行数值计算、数据分析、可视化、算法开发、模拟仿真等多个领域。MATLAB具有高度的灵活性和开放性&#xff0c;可以为用…

Flink流批一体计算(18):PyFlink DataStream API之计算和Sink

目录 1. 在上节数据流上执行转换操作&#xff0c;或者使用 sink 将数据写入外部系统。 2. File Sink File Sink Format Types Row-encoded Formats Bulk-encoded Formats 桶分配 滚动策略 3. 如何输出结果 Print 集合数据到客户端&#xff0c;execute_and_collect…