Squid反向代理(Reverse proxy)

2022-06-30 18:47:47 浏览数 (1)

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

0 人点赞