反向代理优点

  • 通过squid反向代理可以加速网站的访问速度,可将不同的URL请求分发到后台不同的web服务器上,同时互联网用户只能看到反向代理的服务器地址,加强了网站的访问安全。

实验拓扑

Squid代理服务---反向代理

服务器 操作系统 IP地址 软件
squid反向代理 centos7.3 x86_64 192.168.144.112 squid-4.1
web1 centos7.3 x86_64 192.168.144.113 httpd
web2 centos7.3 x86_64 192.168.144.111 httpd

squid反向代理加速原理描述

  • 1)squid反向代理服务器位于本地web服务器和internet之间,客户端请求访问web服务器时,DNS将访问的域名解析为squid反向代理服务器的IP地址,客户端将访问squid代理服务器。
  • 2)如果squid反向代理服务器中缓存了该请求的资源,则将该请求的资源返回给客户端,否则反向代理服务器将向后台的web服务器请求资源,然后将应答资源返回给客户端,同时也将该资源缓存在本地,供下一个请求者使用。

squid安装

tar zxvf squid-4.1.tar.gz -C /opt/
cd /opt/squid-4.1

  • 执行安装程序
./configure --prefix=/usr/local/squid \
--sysconfdir=/etc \
--enable-arp-acl \
--enable-linux-netfilter \
--enable-linux-tproxy \
--enable-async-io=100 \
--enable-err-language="Simplify_Chinese" \
--enable-underscore \
--enable-poll \
--enable-gnuregex

make && make install
ln -s /usr/local/squid/sbin/* /usr/local/sbin/

useradd -M -s /sbin/nologin squid

chown -R squid.squid /usr/local/squid/var/

编辑配置文件,实现反向代理功能

vim /etc/squid.conf

http_port 192.168.144.112:80 accel vhost vport   //此处squid做httpd代理,端口需要修改成80端口,accel表示启用加速功能
cache_peer 192.168.144.113 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web1   //两个web节点服务器地址,采用轮询rr机制,最大连接数30,权重为1
cache_peer 192.168.144.111 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web2
cache_peer_domain web1 web2 www.yun.com   //主机域名设定

squid -k parse //检测配置文件
squid -z //初始化
squid //启动服务

  • squid服务搭建完成后,节点服务器搭建httpd服务
  • 客户端访问代理服务器地址192.168.144.112,也可实现访问web页面

Squid代理服务---反向代理