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 设置别名

相关推荐
打鱼又晒网21 分钟前
【MySQL】数据库精细化讲解:内置函数知识穿透与深度学习解析
数据库·mysql
大白要努力!26 分钟前
android 使用SQLiteOpenHelper 如何优化数据库的性能
android·数据库·oracle
tatasix1 小时前
MySQL UPDATE语句执行链路解析
数据库·mysql
南城花随雪。1 小时前
硬盘(HDD)与固态硬盘(SSD)详细解读
数据库
儿时可乖了1 小时前
使用 Java 操作 SQLite 数据库
java·数据库·sqlite
懒是一种态度1 小时前
Golang 调用 mongodb 的函数
数据库·mongodb·golang
天海华兮2 小时前
mysql 去重 补全 取出重复 变量 函数 和存储过程
数据库·mysql
gma9992 小时前
Etcd 框架
数据库·etcd
爱吃青椒不爱吃西红柿‍️2 小时前
华为ASP与CSP是什么?
服务器·前端·数据库
Yz98763 小时前
hive的存储格式
大数据·数据库·数据仓库·hive·hadoop·数据库开发