实践出真知——基于squid实现反向代理实践

实践出真知——基于squid实现反向代理实践

前言

? 本文主要进行基于squid软件实现反向代理的实验流程演示,阅读本文前首先需要明白反向代理的概念和原理,其次需要基于上篇文章的实验从而继续进行。

实验流程

? 上次做了透明模式正向代理实验,再此基础上完成反向代理的实操流程。

服务器规划

client ip:192.168.100.100(Win7/win10)

squid 代理服务器IP地址:20.0.0.128 192.168.100.1

两台web服务器ip地址:web1:20.0.0.130 web2:20.0.0.131

实验流程

1、首先在客户端开启代理设置,局域网设置代理以及端口号

2、在两台web服务器上安装httpd服务并且开启服务以及关闭防火墙即核心防护功能

[[email protected] ~]# hostnamectl set-hostname web1
[[email protected] ~]# su
[[email protected] ~]# yum install httpd -y
[[email protected] ~]# cd /var/www/html/
[[email protected] html]# ls
[[email protected] html]# echo "this is web 1" > index.html
[[email protected] html]# ls
index.html
[[email protected] html]# systemctl stop firewalld.service
[[email protected] html]# setenforce 0
[[email protected] html]# systemctl start httpd.service
[[email protected] html]# netstat -natp | grep httpd
tcp6       0      0 :::80                   :::*                    LISTEN      1827/httpd          

[[email protected] ~]# hostnamectl set-hostname web2
[[email protected] ~]# su
[[email protected] ~]# yum install httpd -y
[[email protected] ~]# cd /var/www/html/
[[email protected] html]# ls
[[email protected] html]# echo "this is web 2" > index.html
[[email protected] html]# ls
index.html
[[email protected] html]# systemctl stop firewalld.service
[[email protected] html]# setenforce 0
[[email protected] html]# systemctl start httpd.service
[[email protected] html]# netstat -natp | grep httpd
tcp6       0      0 :::80                   :::*                    LISTEN      1827/httpd

3、squid服务器端重新配置iptables规则,修改主配置文件

[[email protected] init.d]# iptables -F  ##清空表缓存
[[email protected] init.d]# iptables -I INPUT -p tcp --dport 3128 -j ACCEPT

[[email protected] ~]# vim /etc/squid.conf
# Squid normally listens to port 3128
http_port 20.0.0.128:3128 accel vhost
cache_peer 20.0.0.130 parent 80 0 proxy-only no-query round-robin max-conn=30 originserver name=web1 weight=1
cache_peer 20.0.0.131 parent 80 0 proxy-only no-query round-robin max-conn=30 originserver name=web2 weight=2
cache_peer_domain web1 web2 www.test.com
cache_effective_user squid
cache_effective_group squid

4、检查配置文件语法、无误后开启服务并且进行验证

[[email protected] ~]# squid -k parse
[[email protected] ~]# service squid stop
[[email protected] ~]# service squid start
正在启动 squid...
[[email protected] ~]# netstat -natp | grep 3128
tcp        0      0 20.0.0.128:3128         0.0.0.0:*               LISTEN      3086/(squid-1)  

5、使用Win7client端测试

由于配置文件中设置(不设置就直接访问ip就行)所以要使用管理员身份修改hosts文件,在末尾添加相关内容。具体设置与验证参考下图流程。

设置hosts文件直接使用www.test.com域名访问

测试:(注意多次刷新,每次刷新前需要清空页面缓存)

当然在生产环境中两台服务器所提供的web服务内容是一样的哈!这里为了验证测试!

总结

通过本次的反向代理实践操作流程,最明显的就是实现了负载均衡的功能,本文实验的算法为加权轮循算法实现调度对应的服务器的。希望可以通过之前的正向代理的案例与此次反向代理的案例,可以加深对正反向代理原理过程的理解。
谢谢阅读!

原文地址:https://blog.51cto.com/14557673/2479628

时间: 2024-11-03 09:25:24

实践出真知——基于squid实现反向代理实践的相关文章

实践出真知——基于squid实现正向代理实践

实践出真知--基于squid实现正向代理实践 前言 ? 俗话说得好:时间是治愈一切伤口的良药,实践是检验真理的唯一标准!本文将结合代理服务器的基本原理,进行基于squid软件实现传统(标准)代理(正向代理)以及透明代理的实例演示. 先说说squid是个啥 ? 避(kai)免(ge)被(wan)喷(xiao),还是介绍一下什么是squid吧. squid的概念 ? squid是一种用来缓存Internet数据的软件.用于接受来自客户端需要下载对象(object)的请求并适当的处理这些请求.也就是说

实践出真知——一文教你搭建Nginx+Tomcat集群,实现负载均衡及动静分离

实践出真知--一文教你搭建Nginx+Tomcat集群,实现负载均衡及动静分离 前言 ? 想必大家对于Nginx和Tomcat都非常熟悉了,Nginx的应用非常广泛,不仅是对web静态资源非常友好,而且也是非常实用的反向代理和负载均衡软件.结合后端Tomcat的服务,从而搭建Nginx+Tomcat集群. ? 对于直接想要实践的朋友而言可以获取本文的链接中的软件包后直接看第三备份的内容. 一.集群搭建结构及拓扑 1.1集群架构图示 Nginx+Tomcat集群的结构示意图如下: 1.2系统环境与

用Squid实现反向代理

Last-Modified: 告诉反向代理页面什么时间被修改 Expires: 告诉反向代理页面什么时间应该从缓冲区中删除 Cache-Control: 告诉反向代理页面是否应该被缓冲 Pragma: 告诉反向代理页面是否应该被缓冲. 一.反向代理的概念 什么是反向代理呢?其实,反向代理也就是通常所说的WEB服务器加速,它是一种通过在繁忙的WEB服务器和Internet之间增加一个高速的WEB缓冲服务器(即:WEB反向代理服务器)来降低实际的WEB服务器的负载.典型的结构如下图所示: Web服务

Linux下Squid正向/反向代理配置

Squid是一个支持HTTP, HTTPS, FTP的web缓存代理,它能通过缓存和反复使用频繁访问的网页来减少带宽.提高响应速度.Squid被广泛用于访问控制和做前端加速,它能运行在大部分操作系统平台上,Squid能减少服务器的压力,提高客户端的响应速度,其高级的内容路由配置允许建立集群和负载均衡来处理各种WEB请求,3.2及之后的版本基本都已支持SMP和多CPU 应用场景: 1.正向代理 Squid被数以百计的网络提供商用来为他们的用户提供最好的网页访问,为了提升性能和常用内容来减少带宽sq

万事开头难 && 实践出真知

实践出真知,真是千古不变的真理. 前几天在顺手做一个万年历项目,实现了用TFT屏显示实时时间,日期,温度,和按键设置时间,能在特定时间显示特定的话语在显示屏上面.其实这个项目现在想想还是挺简单的.我的功能也不是很多.但是在认真做这个项目的时候,真的确确实实让我自己充实了很多,学了很多知识,也发现了很多我之前没有发现的问题.也就只有在实际动手中才能发现问题的所在.在我们这个电气工程专业,我觉得技能是检验能力的重要标准之一.等到这个项目做完的时候,我又陷入了无聊和无方向的循环中.每天也在学习,但是感

实践出真知:MVC和MVVM

title: 实践出真知:MVC和MVVM date: 2018-04-13 08:40:02 tags: mvc mvvm 数据驱动 categories: web --- 理论来自于实践,并指导于实践 - 佚名 我相信在MVC等理论形成之前,就已经有人在付诸MVC的实践.只是后来有人总结下来,并指导人们做软件开发.这种设计典范并不是只有后台的代码才有,前端也可以有很好的框架,像react和vue. 为什么这么强调实践.因为在我学习MVC理论的时候,我是蒙蔽的.虽然看了很多优秀的文档,比如,阮

Squid做反向代理缓存

环境介绍: 主机名 角色 IP地址 squid.contoso.com squid代理服务器 192.168.49.135 image01.contoso.com 图片服务器(web) 192.168.49.139 一.准备工作 以其中一台为例: [[email protected] etc]# iptables -L Chain INPUT (policy ACCEPT) target     prot opt source               destination Chain FO

squid实现反向代理!!!

项目实施者:付炜超 项目背景: 我们公司内部的服务器想要外面的人可以访问,而且想要在保证自己服务器的安全性. 实验环境: vmware workstation 11 centos6.5的系统下 web服务器:    ip 192.168.239.134 防火墙关闭 setenforce 0 反向代理服务器  ip 192.168.239.133  防火墙关闭 setenforce 0 SecureCRT (ssh远程连接软件) 实验流程 一.真实服务器web服务安装 yum install -y

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

反向代理优点 通过squid反向代理可以加速网站的访问速度,可将不同的URL请求分发到后台不同的web服务器上,同时互联网用户只能看到反向代理的服务器地址,加强了网站的访问安全. 实验拓扑 服务器 操作系统 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 htt