rss· 投稿· 设为首页· 加入收藏· 繁體版

Squid Reverse Proxy

Squid反向代理

Squid 反向代理一般只缓存可缓冲的数据(比如 html 网页和图片等),而一些 CGI 脚本程序或者 ASP、JSP 之类的动态程序默认不缓存。它根据从 WEB 服务器返回的 HTTP 头标记来缓冲静态页面。有四个最重要 HTTP 头标记:

● Last-Modified: 告诉反向代理页面什么时间被修改

● Expires: 告诉反向代理页面什么时间应该从缓冲区中删除

● Cache-Control: 告诉反向代理页面是否应该被缓冲

● Pragma: 用来包含实现特定的指令,最常用的是 Pragma:no-cache

1. 简要描述

  • 安装Linux环境: Ubuntu_Server_x86_64 GNU/Linux 2.6.28-11-server

  • 主配置文件: /etc/squid3/squid.conf

  • 重启服务: /etc/init.d/squid3 restart

  • Squid监听端口: TCP 3128 (作反向代理需更改为80)

  • 默认Log目录 /var/log/squid/access.log

  • 状态信息: squidclient -h 127.0.0.1 -p 80 mgr:info

  • 内存信息: squidclient -h 127.0.0.1 -p 80 mgr:mem

  • 磁盘信息: squidclient -h 127.0.0.1 -p 80 mgr:diskd

2. 安装软件:

apt-get install squid3

3. 配置说明:

cache_effective_user squid

启动代理服务器的用户

cache_effective_group squid

启动代理服务器的用户组

visible_hostname squid1.nlc.gov.cn

代理服务器域名(可不填)

http_port 80 accel vhost vport

icp_port 3130

设置监听端口,启用vhost vport加速

icp_port用来与邻居通信

cache_peer squid1.ibm.com.cn sibling 80 3130

cache_peer squid2.ibm.com.cn sibling 80 3130

设置邻居(本地squid无法获取的时候,与邻居通信)

cache_peer 192.168.1.31 parent 80 0 no-query originserver round-robin name=001

cache_peer 192.168.1.37 parent 80 0 no-query originserver round-robin name=002

定义001 与 002 两台RealServer

cache_peer_domain 001 002 cache.mydomain.com

将cache.mydomain.com域的请求通过 RR 轮询方式转发到三个父节点中的一个,cache.mydomain.com可以不填

cache_dir ufs /usr/local/squid/var/cache/ 1000 16 256

设置缓存目录大小1000MB,16个目录,256子目录

maximum_object_size 10240 KB

能缓存的最大对象为 10M

maximum_object_size_in_memory 512 KB

内存中缓存的最大对象 512K

cache_mem 256 MB

squid 用于缓存的内存总量

为了使得DNS查询加速,在/etc/host文件中添加:

192.168.76.223 squid1.ibm.com.cn

192.168.76.224 squid2.ibm.com.cn

日志分析 (可使用工具MySAR)

awk '{a[$4]++}END{for(i in a){printf("%-40s%-20s\n",i,a[i])}}' /var/log/squid3/access.log

顶一下
(0)
踩一下
(0)