2.1-squid正向代理
2015-09-19 22:06
579 查看
1.安装squid
yum install squid
2.修改squid配置文件
cache_dir ufs /var/spool/squid 100 16 256
cache_mem 128 MB
....在refresh_pattern下插入代码
refresh_pattern \.(jpg|png|gif|js|css|mp3|mp4|exe) 1440 20% 2880 ignore-reload
visible_hostname wyp
“cache_dir”这个用来指定本地磁盘上的缓存目录,后边的 1024 为大小,单位是 M,具体根据你的磁盘大小决定。
“cache_mem”它用来规定缓存占用内存的大小,即把缓存的东西存到内存里,具体也需要根据你机器的内存定,如果你的机器只是跑 Squid 服务,那么留给系统 512M 内存外,其他可以都分给 squid。
“refresh_pattern”用来匹配缓冲的对象
“visible_hostname”必须写一个名称,否则报错,或启动失败。
3.配置文件保存好后,可以先检测一下是否有语法错误:
# squid -kcheck 可简写为-kch
4.重启squid
# squid -kreconfigur 可简写为-kre
5.在启动前还得再做一件事,就是初始化缓存目录:
# mkdir /data/cache
# chown -R squid:squid /data/cache/
# squid -z
2013/06/12 16:25:14| Creating Swap Directories
2013/06/12 16:25:14| /data/cache exists
好了,初始化完成后,就可以启动 squid 了:
# /etc/init.d/squid start
正在启动 squid:.
测试:
1.用IE来测试,设置代理IP和端口,用网页打开网站。
2.用curl来测试,如: curl -xlocalhost:3128 -I www.baidu.com
3.用tcpdump -nn port 3128来监视端口流量
有时,我们会有这样的需求,就是想限制某些域名不能通过代理访问,或者说只想代理某几个域名,这如何做呢?在 squid.conf 中找到:
acl CONNECT method CONNECT
在其下面添加四行:
acl http proto HTTP
acl good_domain dstdomain .apelearn.com .aminglinux.com
http_access allow http good_domain #允许访问白名单
http_access deny http !good_domain #拒绝访问非白名单
其中我的白名单域名为 ”.apelearn.com .aminglinux.com”,这里的.表示万能匹配。前面
可以是任何字符,你只需要填写你的白名单域名即可。重启 Squid 再来测测看:
/etc/init.d/squid restart
# curl -xlocalhost:80 -I http://www.baidu.com/ 访问百度已经变为 403 了。如果要设置黑名单呢?道理是一样的:
acl http proto HTTP
acl bad_domain dstdomain .sina.com .souhu.com
http_access allow http !bad_domain
http_access deny http bad_domain
重启 squid 后,测试:
# /etc/init.d/squid restart
# curl -xlocalhost:80 http://www.sina.com/ -I
# curl -xlocalhost:80 http://www.baidu.com/ -I
baidu.com 可以访问,而 sina.com 不可以访问了。
yum install squid
2.修改squid配置文件
cache_dir ufs /var/spool/squid 100 16 256
cache_mem 128 MB
....在refresh_pattern下插入代码
refresh_pattern \.(jpg|png|gif|js|css|mp3|mp4|exe) 1440 20% 2880 ignore-reload
visible_hostname wyp
“cache_dir”这个用来指定本地磁盘上的缓存目录,后边的 1024 为大小,单位是 M,具体根据你的磁盘大小决定。
“cache_mem”它用来规定缓存占用内存的大小,即把缓存的东西存到内存里,具体也需要根据你机器的内存定,如果你的机器只是跑 Squid 服务,那么留给系统 512M 内存外,其他可以都分给 squid。
“refresh_pattern”用来匹配缓冲的对象
“visible_hostname”必须写一个名称,否则报错,或启动失败。
3.配置文件保存好后,可以先检测一下是否有语法错误:
# squid -kcheck 可简写为-kch
4.重启squid
# squid -kreconfigur 可简写为-kre
5.在启动前还得再做一件事,就是初始化缓存目录:
# mkdir /data/cache
# chown -R squid:squid /data/cache/
# squid -z
2013/06/12 16:25:14| Creating Swap Directories
2013/06/12 16:25:14| /data/cache exists
好了,初始化完成后,就可以启动 squid 了:
# /etc/init.d/squid start
正在启动 squid:.
测试:
1.用IE来测试,设置代理IP和端口,用网页打开网站。
2.用curl来测试,如: curl -xlocalhost:3128 -I www.baidu.com
3.用tcpdump -nn port 3128来监视端口流量
有时,我们会有这样的需求,就是想限制某些域名不能通过代理访问,或者说只想代理某几个域名,这如何做呢?在 squid.conf 中找到:
acl CONNECT method CONNECT
在其下面添加四行:
acl http proto HTTP
acl good_domain dstdomain .apelearn.com .aminglinux.com
http_access allow http good_domain #允许访问白名单
http_access deny http !good_domain #拒绝访问非白名单
其中我的白名单域名为 ”.apelearn.com .aminglinux.com”,这里的.表示万能匹配。前面
可以是任何字符,你只需要填写你的白名单域名即可。重启 Squid 再来测测看:
/etc/init.d/squid restart
# curl -xlocalhost:80 -I http://www.baidu.com/ 访问百度已经变为 403 了。如果要设置黑名单呢?道理是一样的:
acl http proto HTTP
acl bad_domain dstdomain .sina.com .souhu.com
http_access allow http !bad_domain
http_access deny http bad_domain
重启 squid 后,测试:
# /etc/init.d/squid restart
# curl -xlocalhost:80 http://www.sina.com/ -I
# curl -xlocalhost:80 http://www.baidu.com/ -I
baidu.com 可以访问,而 sina.com 不可以访问了。
相关文章推荐
- 2.0-squid服务介绍
- Nginx安装配置实现用户认证、反向代理、隐藏版本号
- nginx+tomcat反向代理做负载均衡常见的问题
- rhel6下安装配置Squid过程
- Nginx反向代理 负载均衡 页面缓存 URL重写及读写分离
- 使用squid做出口防火墙
- 反向代理代理百度、google
- 最简单实现跨域的方法:使用nginx反向代理
- 高性能反向代理软件HAProxy(三)之高可用
- LNMP之Nginx反向代理负载均衡(二)
- 什么是反向代理服务器如何配置反向代理服务器
- Apache配置反向代理、负载均衡和集群(mod_proxy方式)
- IIS反向代理404错误
- nginx 负载均衡-反向代理+cache浅谈
- nginx的反向代理缓存
- 配置Squid服务
- 使用Nginx反向代理和proxy_cache缓存搭建CDN服务器加快Web访问速度
- 使用Nginx的proxy_cache缓存功能取代Squid[原创]
- 高性能反向代理软件HAProxy(二)之应用举例
- 高性能反向代理软件HAProxy(一)之基本概念