部署squid反向代理服务器
一、 安装squid代理
1、 解包,配置,编译
[root@localhost ~]# yum -y install gcc*
[root@localhost ~]# tar zxvf squid-3.5.23.tar.gz
[root@localhost ~]# cd squid-3.5.23
[root@localhost squid-3.5.23]# ./configure --prefix=/usr/local/squid --sysconfdir=/etc --enable-linux-netfilter --enable-async-io=240 --enable-default-err-language=Simplify_Chinese --disable-poll --enable-epoll --enable-gnuregex
[root@ squid-3.5.23]#make && make install
[root@ squid-3.5.23]# ln -s /usr/local/squid/sbin/* /usr/local/sbin/
[root@ squid-3.5.23]# useradd -M -s /sbin/nologin squid #-M:不建立宿主目录
[root@ squid-3.5.23]# chown -R squid:squid /usr/local/squid/var/ #授权
2、 编辑主配置文件
添加下面两行(可以放在末尾)
cache_effective_user squid #指定squid程序的用户
cache_effective_group squid #指定squid账号的基本组
3、 命令及参数介绍
[root@ localhost ~]# squid -k parse #检查配置文件的语法是否正确
[root@ localhost ~]# squid -k reconfigure #重新加载,相当于reload
[root@ localhost ~]# squid -z #初始化缓存目录
[root@ localhost ~]# squid #启动squid服务
[root@ localhost ~]# netstat -anpt | grep "squid" #查看squid启动端口
tcp6 0 0:::3128 :::* LISTEN 50947/(squid-1) #3128端口号
[root@ localhost ~]# kill 50947 #关闭squid代理(使用kill)
二、 反向代理配置
1、 介绍
反向squid代理服务器一般部署在公司内部的前端的服务器,用于用户访问公司网站是访问的是squid服务器,起到隐藏后端服务器的真实的IP地址。
2、 配置
[root@localhost ~]# vim /etc/squid.conf
……略
修改:
http_port 3128
修改为:
http_port 80 accel vhost vport #80是squid的端口,也是客户要访问的端口(accel 指加速模式,vhost 用于转发请求)
添加后端真实服务器的信息IP:
cache_peer 192.168.10.101 parent 80 0 originserver name=a
cache_peer_domain a www.qq.com
cache_peer 192.168.10.102 parent 80 0 originserver name=b
cache_peer_domain b www.baidu.com
解释1:cache_peer 指定后端服务器地址,80为后端服务端口,0为 ICP 端口号(多个 Squid 时用),originserver 指定资源服务器,name 指定一个别名。
解释2:指定对应关系,当用户请求 www.baidu.com时,转发到别名为b 的真实服务器上。
3、 代理一台web上所有的域名:
添加以下内容:
cache_peer 192.168.10.111 80 0 originserver
最后重启squid服务器,观察启动端口即可。