共计 1914 个字符,预计需要花费 5 分钟才能阅读完成。
squid 反向代理(Reverse proxy)
反向代理也同样提供缓存加速,只不过服务的对象反过来了。
传统代理、透明代理大多是为局域网用户访问 Internet 中的 web 站点提供缓存代理;
而反向代理相反,主要为 internet 中的用户访问企业局域网内的 web 站点提供缓存加速,是一个反向的代理过程,因此称为反向代理。
对于一些访问量较大的 web 站点(如新浪、搜狐),提供反向代理可以起到良好的加速作用,同时大大缓解 web 服务器的压力,如:使用 nslookup 工具解析出 www.linuxidc.com 站点对应得 IP(通常会有多个、这是基于 dns 介绍的负载分担)
任选其中一个在浏览器中直接访问,会发现 squid 发现代理服务返回的错误信息,而使用 www.linuxidc.com 域名访问时,用户基本上感觉不到 squid 服务的存在。
传统代理、透明代理主要面向局域网用户提供服务,其对访问 internet 中 web 站点提供缓存加速,访问目标是不固定的;
而反向代理主要面向 internet 的客户提供服务,其对访问企业自有的 web 站点提供缓存加速,访问目标相对比较固定。
使用 squid 反向代理,后台真正提供 web 服务的站点可以位于 internet,也可以位于企业局域网内,提供 web 服务的主机可以有一个到多个。
在 squid.conf 文件中,实现反向代理服务最基本的选项有两处,在 http_port 后加“vhost”(注意:vhost 与 transparent 不能同时使用)使用 cache_peer 配置项指定后台真正提供 web 服务的主机(有时称为上游服务器)的 ip 地址、端口等。
格式:
添加对反向代理的支持,并在公网 ip 地址的 80 端口监听服务
vi /etc/squid/squid.conf
http_port 219.16.21.100:80 vhost
指定 web 服务器主机位置
cache_peer web 服务器地址 服务器类型 http 端口 icp 端口 [可选项]
web 服务器地址:不解释
服务器的类型:对应到目标主机的缓存级别,上游 web 主机一般使用“parent”
http 端口:web 服务器 web 服务的端口如 80、8080 等 icp 端口:用于连接相邻的 ICP(internet cache protocol)缓存服务器(通常为另外一台 squid 主机),如果没有,则使用 0;可选项:是提供缓存时的一些附加插参数,如:“originserver”表示该服务器作为提供 web 服务的原始主机,“weight=n”指定服务器的优先权重,n 为整数,数字越大优先级越高(默认为 1);“max-conn=n”指定方向代理主机到 web 服务器的最大连接数。
环境描述:
公司使用 4 台 web 服务器实现负载均衡,并在前端使用 squid 做方向代理加速,internet 用户直接服务的是 squid 反向代理服务器(公网 ip 并做好 dns(cdn)解析),通过 squid 代理服务器间接访问时间的网站服务器。
实现步骤:
1. 修改 squid.conf 配置文件
http_port 80 vhost
cache_peer 192.168.1.11 parent 80 0 originserver weight=5 max-
conn=30
cache_peer 192.168.1.12 parent 80 0 originserver weight=4 max-
conn=15
cache_peer 192.168.1.13 parent 80 0 originserver weight=4 max-
conn=10
cache_peer 192.168.1.15 parent 80 0 originserver weight=1 max-
conn=8
/etc/init.d/squid restart
netstat -utpln |grep 80
2. 在 internet 上客户机端访问,注意使用反向代理服务器的 ip 地址
并查看代理日志,
tail -f /var/log/squid/access.log
Squid 的详细介绍:请点这里
Squid 的下载地址:请点这里
推荐阅读:
配置 Squid 代理 http 和 rsync http://www.linuxidc.com/Linux/2013-05/84642.htm
Squid:实现高速的 Web 访问 http://www.linuxidc.com/Linux/2013-04/83512.htm
CentOS 6.2 编译安装 Squid 配置反向代理服务器 http://www.linuxidc.com/Linux/2012-11/74529.htm
Squid 在企业网中的应用 http://www.linuxidc.com/Linux/2012-10/71818.htm