squid服务

squid服务介绍
1. 什么是squid
squid可以做代理也可以做缓存

squid缓存不仅可以节省宝贵的带宽资源,也可以大大降低服务器的I/O.
squid不仅可以做正向代理,又可以做反向代理。
正向代理,squid后面是客户端,客户端上网要通过Squid去上;反向代理,squid后面是服务器,服务器返回给用户数据需要走squid.
正向代理用在企业的办公环境中,员工上网需要通过squid代理来上网,这样可以节省网络带宽资源。而反向代理用来搭建网站静态项(图片、html、流媒体、js、css等)的缓存服务器,它用于网站架构中。

squid正向代理
安装squid
[root@wqslinux user1]# yum -y install squid

查看版本
[root@wqslinux ~]# squid -v

squid的配置文件
[root@wqslinux ~]# vim/etc/squid/squid.conf
http_port 3128 //这可以更改监听端口
cache_dir ufs /var/spool/squid 100 16 256 //打开squid的缓存目录
cache_mem 50 MB //内存的配置,我们缓存放在硬盘里面有点慢,把他的缓存放在内存里面一些
refresh_pattern\.(jpg|png|gif|js|css|mp3|mp4) 1440 20% 2880 ignore-reload //缓存的类型,缓存时间,百分比 ,ignore-reload是忽略重新加载
visible_hostname wuqunshan.com //作为代理,需要让用户访问的时候能够显示hostname是什么

启动squid
[root@wqslinux ~]# /etc/init.d/squid start

查看squid的端口,默认的是3128
[root@wqslinux ~]# netstat -lnp
tcp 0 0 :::3128 :::* LISTEN 11434/(squid)

要在浏览器上面设置代理服务器的IP端口

可以通过抓包来查看是否配置成功
[root@wqslinux ~]# tcpdump -nn port 3128

可以查看缓存的文件
cd /var/spool/squid

在linux下使用代理查看
[root@wqslinux ~]# curl -x127.0.0.1:3128 www.baidu.com -I
[root@wqslinux ~]# squid -kcheck //检查语法是否正确
[root@wqslinux ~]# squid -kre //重新加载

squid默认的log是不需要配置的,默认就在/var/log/squid/下

[root@wqslinux ~]# cd/var/log/squid/cache.log

squid设置白名单只允许打开.baidu.com.qq.com
acl http proto HTTP
acl good_domain dstdomain .baidu.com.qq.com
http_access allow good_domain
http_access deny !good_domain

squid设置黑名单
acl http proto HTTP
acl good_domain dstdomain .baidu.com.qq.com
http_access deny good_domain
http_access allow !good_domain

squid反向代理实验
http_port 80 accel vhost vport //首先要把port改成80端口,默认是3128
cache_peer 111.13.101.208 parent 80 0originserver name=a //这里的ip是网址的源ip,指定80端口,后面是你要搭理谁,a就是指定的网址
cache_peer_domain a www.baidu.com //指定的网址a就是www.baidu.com
检查语法是否正确
[root@wqslinux ~]# squid -kch
重新启动
[root@wqslinux ~]# squid -kre
如果是squid要代理一台web上的所有域名,那么就写成这样: cache_peer 192.168.10.111 parent 80 0originserver #只需要这一行,cache_peer_domain 都可以省掉
/etc/init.d/squidrestart

发表评论