Squid反向代理部署

本文详细介绍了Squid反向代理的定义、工作原理及其配置过程。通过Squid,可以实现外部主机对内部Web服务器的安全访问,并通过反向代理加速网站的访问速度。实验中,配置了Squid服务器以轮询方式分发请求到两个Web服务器,并展示了Web服务器的配置和防火墙设置。最后,通过客户机测试验证了反向代理的正确性。
摘要由CSDN通过智能技术生成

一:定义

​ Squid作为代理服务软件,其主要功能是使用代理上网可以节约紧缺的IP地址资源,而且可以阻断外部主机对内部主机的访问,有一定的安全性,但是如果想让互联上的主机访问内部网的主机资源(例如:web站点),又想使内部主机免受外部网主机攻击,一般的代理服务是不能实现的,这就需要反向代理来实现。通过squid反向代理可以加速网站的访问速度,可以将不同的URL请求分发到后台不同的Web服务器上,同时互联网用户只能看到反向代理服务器的地址,加强了网站的访问安全。

二:工作原理

​ 反向代理服务器位于本地WEB 服务器和Internet 之间,当用户浏览器发出一个HTTP 请求时,通过域名解析将请求定向到反向代理服务器(如果要实现多个WEB 服务器的反向代理,需要将多个WEB 服务器的域名都指向反向代理服务器)。由反向代理服务器处理器请求,反向代理一般只缓存可缓冲的数据(比如html 网页和图片等),而一些CGI 脚本程序或者ASP 之类的程序不缓存,它根据从WEB 服务器返回的HTTP 头标记来缓冲静态页面。

squid服务器配置反向代理,客户机添加squid代理,然后访问squid服务器域名时跳转到web服务器页面。以轮询的方式依次显示web1、web2

三:实验过程

Squid服务器配置

[root@localhost ~]# hostnamectl set-hostname squid
[root@localhost ~]# su
[root@squid ~]# mkdir /abc
[root@squid ~]# mount.cifs //192.168.253.10/share /abc
[root@squid ~]# cd /abc
[root@squid abc]# tar zxvf squid-3.4.6.tar.gz -C /opt
[root@squid abc]# cd squid-3.4.6
[root@squid squid-3.4.6]# yum install gcc gcc-c++ -y

[root@squid squid-3.4.6]# ./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

[root@squid squid-3.4.6]# make && make install
[root@squid squid-3.4.6]# ln -s /usr/local/squid/sbin/* /usr/local/sbin
[root@squid squid-3.4.6]# useradd -M -s /sbin/nologin squid
[root@squid squid-3.4.6]# chown -R squid.squid /usr/local/squid/var/

[root@squid squid-3.4.6]# vim /etc/squid.conf

在这里插入图片描述


设置防火墙
[root@squid squid-3.4.6]# iptables -F    ‘清空所有规则’
[root@squid squid-3.4.6]# iptables -t nat -F    ‘清除所有NAT规则’
[root@squid squid-3.4.6]# iptables -I INPUT -p tcp --dport 3128 -j ACCEPT 

开启服务
[root@squid squid-3.4.6]# squid -k parse	‘检查语法,没问题Ctrl+C键取消’
[root@squid squid-3.4.6]# squid -z     ‘初始化缓存目录’
[root@squid squid-3.4.6]# squid   ‘启动服务’
[root@squid squid-3.4.6]# netstat -ntap | grep squid    ‘检测是否启动成功’

添加脚本优化服务

在这里插入图片描述
在这里插入图片描述

[root@squid init.d]# chmod +x squid    ‘添加权限’
[root@squid init.d]# chkconfig --add squid    ‘便于service识别’
[root@squid init.d]# service squid stop   ‘关闭squid服务’
[root@squid init.d]# service squid start   ‘开启squid’

Web1服务器配置

[root@localhost ~]# yum -y install httpd
[root@localhost ~]# echo "<h1>this is tsst1 web </h1>" > /var/www/html/index.html

[root@localhost ~]# systemctl start httpd
[root@localhost ~]# netstat -anpt | grep httpd
tcp6       0      0 :::80                   :::*                    LISTEN      12644/httpd         


[root@localhost ~]# route add -net 192.168.100.0/24 gw 192.168.253.10
[root@localhost ~]# vi /etc/hosts
[root@localhost ~]# systemctl stop firewalld

Web2服务器配置

[root@localhost ~]# yum -y install httpd
[root@localhost ~]# echo "<h1>this is test2 web </h1>" > /var/www/html/index.html
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# netstat -anpt | grep httpd
tcp6       0      0 :::80                   :::*                    LISTEN      48595/httpd         
[root@localhost ~]# route add -net 192.168.100.0/24 gh 192.168.253.10

客户机测试

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值