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

squid代理服务器

ginx也可以代理:反向代理 ---- 负载均衡;nginx也可以缓存,但是无法做正向代理(proxy_pass 反向代理)

squid正向代理服务器【VPN】

squid作用:正向代理,可以缓存加速,基于ACL协议可以过滤控制

squid代理的工作机制

1、代替客户端向网站请求数据。不需要访问代理的IP地址,直接请求目的网站,由代理服务器处理请求和响应。可以隐藏用户的真实IP

2、访问目标网站之后,会把(静态web)元素保存到缓存中,发送给客户端。下一次所有的客户机都可以使用缓存访问。加快访问速度【⭐核心⭐】

数据流向

squid作用

1、资源获取。代替客户端获取目标服务器的资源

2、加速访问。代理服务器可能和目标服务器距离更近,可以起到一定的加速作用

3、缓存作用。代理服务器保存从目标服务器获取的资源,客户端下一次再请求目标服务器可以直接访问缓存即可。减轻目标服务器的压力

4、隐藏真实的IP地址。代理服务器代替客户端请求,客户端的信息不会显示。(squid和nginx都可以做到)

squid代理的类型

1、传统代理,正向代理。需要在客户端指定定好代理服务器的地址和端口

2、透明代理。客户端不再需要指定代理服务器的地址和端口,而是通过默认路由来进行转发(squid服务器,网关)

3、反向代理。在反向代理的squid服务器中,如果缓存了请求资源,会将资源直接返回给客户端。否则,代理服务器会代理客户端向web服务器发起请求,然后再把请求的资源相应给客户端,同时把响缓存在本地,后续请求者都可以使用。(总结:有缓存,直接响应缓存内容,没有缓存,才会代替客户端请求web资源,响应结果保存在缓存,然后响应给客户端下一次直接访问缓存即可。缓存是否命中)

SNAT和DNAT 和 代理服务器squid的区别

①网络层次不同:SNAT和DNAT是网络层,squid是应用层

②对数据处理方式不同:SNAT和DNAT是改变数据包头部的源IP地址和目的地址。squid不改变数据包的任何信息,直接把数据包发给代理,代理通过应用层过滤的方式实现转发(有点像路由器,类似于路由器转发数据包的工作过程)

test1 客户端 192.168.233.10

test2 squid  192.168.233.20 透明代理的时候需要双网卡

web页面  nginx1  192.168.233.70   nginx2  192.168.233.80

tar -zxvf squid

cd squid

./configure --prefix=/usr/local/squid \

--sysconfdir=/etc \

--enable-arp-acl \

--enable-linux-netfilter \

--enable-linux-tproxy \

--enable-async-io=100 \

--enable-err-language="Simplify_Chinese" \

--enable-underscore \

--disable-poll \

--enable-epoll \

--enable-gnuregex

make -j 10 && make install

ln -s /usr/local/squid/sbin/* /usr/local/sbin/

useradd -M -s /sbin/nologin squid

chown -R squid:squid /usr/local/squid/var/

vim /etc/squid.conf

http_access allow all

cache_effective_user squid

cache_effective_group squid

squid -k parse

squid -z  初始化

squid

netstat -antp | grep squid

squid -N -d1

vim /etc/init.d/squid

vim /etc/squid.conf

62gg

cache_mem 2000 MB

reply_body_max_size 200 MB

maximum_object_size 200 MB

透明代理

web 12.0.0.12

双网卡分别指向网关:

1、配置文件写错了,重启没有任务报错

2、添加了ip加端口之后一定要查看一下ip+端口是否生效。

3、客户端和服务端都要指向网关

4、iptables的策略,在代理服务器要配置,开启转发功能

ACL访问控制

反向代理

http_port 192.168.233.20:80 accelvhost vport

squid从一个缓存变成了一个web服务器反向代理的加速模式 squid监听的80端口请求。同时和web服务器的请求端口绑定

squid不是转发请求,而是要么从缓存获取数据,要么直接请求绑定的web端口

accel: 反向代理加速模式

vhost: 支持域名或者主机名来代表代理服务器

vport: 支持ip+端口来表示代理服务器

cache_peer 192.168.233.61 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web1

缓存获取失败,请求的服务器名

parent:上下级的关系。80端口

0:表示就是一台代理服务器,不涉及运营商

no-query: 不查询,直接获取数据

originserver: 指定源服务器

round-robin max_conn=30 weight=1 name=web1:squid通过轮询的方式将请求分发到其中一台父节点

max_conn=30 最大连接数

weight=1 权重

name=web1 设置别名

相关文章:

  • 深入解析序列模型:全面阐释 RNN、LSTM 与 Seq2Seq 的秘密
  • js 对象数组删除某一个特定的对象
  • 数据结构八种内部排序算法c++实现
  • 【Java 进阶篇】Ajax 实现——JQuery 实现方式 `get` 与 `post`
  • MySQL中json类型,你使用过吗
  • R语言:利用biomod2进行生态位建模
  • 【数据结构初阶】双链表
  • React整理总结(四)
  • 深度学习之基于YoloV5-Pose的人体姿态检测可视化系统
  • m1 rvm install 3.0.0 Error running ‘__rvm_make -j8‘
  • 2023.11.18 -自用hadoop高可用环境搭建命令
  • git常用命令和参数有哪些?【git看这一篇就够了】
  • USB转CAN的使用说明
  • 基于SSM的高校毕业选题管理系统设计与实现
  • 计算3D目标框的NMS
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • 【个人向】《HTTP图解》阅后小结
  • Android 架构优化~MVP 架构改造
  • Angular 4.x 动态创建组件
  • codis proxy处理流程
  • CSS魔法堂:Absolute Positioning就这个样
  • IndexedDB
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • MySQL用户中的%到底包不包括localhost?
  • orm2 中文文档 3.1 模型属性
  • PAT A1092
  • Spring Cloud中负载均衡器概览
  • 对象引论
  • 浮动相关
  • 给Prometheus造假数据的方法
  • 开源SQL-on-Hadoop系统一览
  • 前端
  • 深入浅出Node.js
  • 用element的upload组件实现多图片上传和压缩
  • 运行时添加log4j2的appender
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • # Maven错误Error executing Maven
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (二)windows配置JDK环境
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (转)jQuery 基础
  • .net 反编译_.net反编译的相关问题
  • .NET 反射的使用
  • .NET 解决重复提交问题
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • /run/containerd/containerd.sock connect: connection refused
  • @31省区市高考时间表来了,祝考试成功
  • @Autowired多个相同类型bean装配问题
  • [AHOI2009]中国象棋 DP,递推,组合数
  • [C++ 从入门到精通] 12.重载运算符、赋值运算符重载、析构函数
  • [c语言]小课堂 day2