squid正反向代理-加快网站访问速度

news/2024/5/14 8:24:12/文章来源:https://blog.csdn.net/weixin_34413103/article/details/85107344

配置squid代理服务器加快网站访问速度

一:squid服务概述

  Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器。Squid有广泛的用途,从作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度,到为一组人共享网络资源而缓存万维网,域名系统和其他网络搜索,到通过过滤流量帮助网络安全,到局域网通过代理上网。Squid主要设计用于在Unix一类系统运行。

代理服务器是介于 Internet 和内网计算机之间的联系桥梁,他的功能就是代替内网计算机去访问互联网信息。使用代理服务器,可以有效的节约IP资源,多台内网计算机可以通过同一个IP访问Internet。目前大部分企业都是通过代理服务器为企业内部员工提供上网服务。

端口: 3128

二:实验安装

1:安装squid:

[root@xuegod63 ~]# yum install squid -y

2:配置文件位置:

[root@xuegod63 ~]# ls /etc/squid/squid.conf

3:启动服务

[root@xuegod63 ~]# /etc/init.d/squid start

[root@xuegod63 ~]# netstat -antup | grep 3128

tcp        0      0 0.0.0.0:3128       0.0.0.0:*     LISTEN     4376/(squid)

[root@xuegod63 ~]# chkconfig squid on

[root@xuegod63 ~]# chkconfig --list squid

squid          0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭

4:服务启动失败的解决方法

[root@xuegod63 ~]# vim /etc/hosts

192.168.10.20 squid_A.tarena.com  sxueod63

[root@xuegod63 ~]#  squid -z    #初始化缓存                   

2014/03/12 14:06:39| Creating Swap Directories

[root@xuegod63 ~]# /etc/init.d/squid start

三:实战举例

根据实现的方式不同,代理服务可以分为正向代理和反向代理,正向代理包括传统代理和透明代理,这两种代理服务完成的工作相差不多

第一块:正向代理

1:正向传统代理服务器

在客户端使用的时候需要在web游览器中进行设置,来指定服务器的端口和地址,这种代理主要是针对局域网访问internet的时候用的比较广泛,但由于客户端需要进行设置,所以这种并不是最常用的。

1)加速原理:

wKioL1j_-VOzZp2FAAAr-dUD5ng214.png 

代理服务器的功能是代替网络用户去访问网络信息,并把获得的信息返回给用户,其工作步骤大致如下:

1) 客户机向代理服务器发起访问互联网的请求

2) 代理服务器收到请求后检查请求是否被允许,如果允许将会进行下一步处理,否则丢弃该请求。

3) 代理服务器先查找本地缓存中是否有客户机请求的数据,如果有则直接返回给客户端,否则继续下一步。

4) 如果没有找到数据缓存,则代替客户机在互联网上发起请求。

5) 接到请求回应后复制一份到缓存中,然后返回给客户机

1)实验拓扑

wKiom1j_-WTSul6qAAB3MmN_E5c713.png 

2)实验需求:

搭建squid代理服务器,使内网主机xuegod64:192.168.2.2 ,能够通过xuegod63上的squid代理服务器加速上网。

3)实验环境

配置xuegod63网络:   eth0: 192.168.1.63  添加eth1,配置IP:192.168.2.1  vmnet4

配置xuegod64网络:   添加eth0,配置IP:192.168.2.2 网关: 192.168.2.1     vmnet4

4)实验步骤

xuegod63配置:

[root@xuegod63 ~]# vim /etc/squid/squid.conf

改: #http_access deny all

 为: http_access allow all          //允许所有用户使用它作为代理

5)启动服务

[root@xuegod63 ~]# service squid restart

[root@xuegod63 ~]# chkconfig squid on

6)配置xuegod64 客户端

   在浏览器里指定代理服务器的ip地址(192.168.2.1)和端口号(3128)

 

wKioL1j_-XrwwtlXAACwE9WtbSE269.png

wKiom1j_-XqQytXtAADHWyrNiRQ705.png

 

 wKiom1j_-kzQIPIIAACwE9WtbSE699.png

7)测试:

wKioL1j_-YyTPRrKAAII_sXfKn8950.png 

#在xuegod64上的浏览器中打开www.163.com可以访问,但是当ping www.163.com ping不通的

wKiom1j_-a_y_PoLAAF72UAclG0649.png

#在xuegod64上的浏览器中打开192.168.1.1  可以访问到当前的路由器,并且找到了当前的 主机是匿名主机的IP地址是192.168.1.63  而不是xuegod64上的IP地址。这样xuegod63就是一个代理服务器了,客户端(xuegod63)通过代理服务器(xuegod64)访问到网络,而客户端本身自己是不能访问网络的。

  

 2:正向透明代理服务器

提供与传统代理相同的服务,但不需要用户进行设置,而是通过默认路由和防火墙的重定向功能,在整个过程中用户不知道其中的过程,所以称之为透明代理。使用透明代理时网页游览器访问网站时的域名解析请求优先发给DNS服务进行解析。透明代理必须在linux操作系统的防火墙上进行操作。操作上不是很灵活

 

1)实验拓扑

wKioL1j_-c7Q2PHaAAB3MmN_E5c245.png 

2)实验要求

   客户端用在浏览器里指定代理服务器的ip地址和端口号,就可以直接访问公网上的网站服务器。配置透明squid代理提升访问速度

透明代理= squid + iptables

3)实验步骤

(1修改配置文件配置支持透明代理

[root@xuegod63 ~]#vim /etc/squid/squid.conf

改:http_port 3128

为:http_port 3128 transparent 透明的

[root@xuegod63 ~]# service squid restart

(2)开启路由转发功能:

[root@xuegod63 ~]# vim /etc/sysctl.conf

改:net.ipv4.ip_forward = 0

为:net.ipv4.ip_forward = 1

[root@xuegod63 ~]# sysctl –p

(3)配置iptables:

[root@xuegod63 ~]# iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j SNAT --to 192.168.1.63 #让内网可以上网

或者

[root@xuegod63 ~]# iptables -t nat -A PREROUTING -s 192.168.2.0/24 -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

 (4)测试:把浏览器取消代理。

wKiom1j_-e-x95h6AAEcXdNhH50252.png 

[root@xuegod64 ~]# ping g.cn  

PING g.cn (203.208.48.144) 56(84) bytes of data.

64 bytes from 203.208.48.144: icmp_seq=1 ttl=43 time=72.4 ms

64 bytes from 203.208.48.144: icmp_seq=2 ttl=43 time=73.7 ms

64 bytes from 203.208.48.144: icmp_seq=3 ttl=43 time=74.0 ms

#这样就可以上网了

 

第二块:反向代理

反向代理服务器的工作原理

反向代理方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送 到代理服务器中。当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务。

wKioL1j_-frx0iKhAAHor4vy__w020.png 

反向代理服务器通常有两种模型,它可以作为内容服务器的替身,也可以作为内容服务器集群的负载均衡器。

1、作内容服务器的替身

如果您的内容服务器具有必须保持安全的敏感信息,如信用卡号数据库,可在防火墙外部设置一个代理服务器作为内容服务器的替身。当外部客户机尝试访问内容服务器时,会将其送到代理服务器。实际内容位于内容服务器上,在防火墙内部受到安全保护。代理服务器位于防火墙外部,在客户机看来就像是内容服务器。

当客户机向站点提出请求时,请求将转到代理服务器。然后,代理服务器通过防火墙中的特定通路,将客户机的请求发送到内容服务器。内容服务器再通过该通道将结果回传给代理服务器。代理服务器将检索到的信息发送给客户机,好像代理服务器就是实际的内容服务器(参见图 2)。如果内容服务器返回错误消息,代理服务器会先行截取该消息并更改标头中列出的任何 URL,然后再将消息发送给客户机。如此可防止外部客户机获取内部内容服务器的重定向 URL。

这样,代理服务器就在安全数据库和可能的恶意***之间提供了又一道屏障。与有权访问整个数据库的情况相对比,就算是侥幸***成功,作恶者充其量也仅限于访 问单个事务中所涉及的信息。未经授权的用户无法访问到真正的内容服务器,因为防火墙通路只允许代理服务器有权进行访问。

wKiom1j_-gezpW7EAAEEIl4IPlg485.png

2、作为内容服务器的负载均衡器

可以在一个组织内使用多个代理服务器来平衡各 Web 服务器间的网络负载。在此模型中,可以利用代理服务器的高速缓存特性,创建一个用于负载平衡的服务器池。此时,代理服务器可以位于防火墙的任意一侧。如果 Web 服务器每天都会接收大量的请求,则可以使用代理服务器分担 Web 服务器的负载并提高网络访问效率。

对于客户机发往真正服务器的请求,代理服务器起着中间调停者的作用。代理服务器会将所请求的文档存入高速缓存。如果有不止一个代理服务器,DNS 可以采用“循环复用法”选择其 IP 地址,随机地为请求选择路由。客户机每次都使用同一个 URL,但请求所采取的路由每次都可能经过不同的代理服务器。

可以使用多个代理服务器来处理对一个高用量内容服务器的请求,这样做的好处是内容服务器可以处理更高的负载,并且比其独自工作时更有效率。在初始启动期 间,代理服务器首次从内容服务器检索文档,此后,对内容服务器的请求数会大大下降。

wKiom1j_-hDT4W-HAAEzI1pd_3g624.png 

例:配置squid反向代理加速度内网web服务器访问速度

1):实验拓扑图:

wKioL1j_-hqzlv3vAAB57iGE5Fg110.png 

2):实验要求

客户端物理机访问 192.168.1.63 代理服务器。192.168.1.63 代理服务器缓存客户端所需要的web服务器中的数据。实现xuegod63给xuegod64 加速度端口80和81两个服务。只加速度静态页面或视频。   

思路:

1:在代理服务器上,squid的主配置文件中开启支持虚拟主机功能,然后配置squid主配置文件,指定内容web服务器的IP地址。

2:在内容服务器上,开启web服务器,在httpd服务的主配置文件中配置虚拟主机。

3):实验步骤

(1)公网客户端,物理机:修改物理机hosts文件:

windows 下的hosts文件在:C:\Windows\System32\drivers\etc首先,在 Client 端修改 hosts 文件,添加如下两行:

192.168.1.63  www.serverA.com

192.168.1.63   www.serverB.com

#在这里面第一次修改是不修改的,只需要将hosts文件拖到桌面就可以修改了,之后再将修改的文件拖到此文件夹中

(2):配置xuegod63 squid代理服务器:

#这里,Squid 反向代理服务器监听端口:8000 (默认是:3128)访问时,需要在客户端,打开浏览器,在浏览器地址栏输入: www. servera.com:8000

[root@xuegod63 ~]# vim /etc/squid/squid.conf

改:59 #http_access denny all

为:60 http_access allow all

改:http_port  3128

为:http_port 8000 vhost  

# 配置Squid 服务器监听本机 8000 端口,开启vhost 支持虚拟主机功能,这样也可以给多台服务器加速。

 

 (3):打开虚拟主机支持 ,在此行下面,添加以红色内容:

 [root@xuegod63 ~]# vim /etc/squid/squid.conf

cache_peer 192.168.2.2 parent 80 0 no-query originserver weight=1 name=a

cache_peer 192.168.2.2 parent 81 0 no-query originserver weight=1 name=b

cache_peer_domain a www.serverA.com

cache_peer_domain b www.serverB.com

#以上4行配置,让 Squid 服务器知道:

#从客户端过来的请求如果找的www.serverA.com,则 Squid代理服务器客户端192.168.2.2 的端口 80发送回复

#从客户端过来的请求如果找的www.serverB.com,则 Squid代理服务器客户端192.168.2.2的端口 81 发送回复

cache_peer_access a allow all

cache_peer_access b allow all

# cache_peer 设置:允许其它 cache 机和访问a和b

[root@xuegod63 ~]# service squid restart

 

(4):配置两个站点web服务器,xuegod64配置HTTP虚拟主机:基于端口做虚拟主机:

[root@xuegod64 ~]# cp -r /boot/grub/ /var/www/html/

[root@xuegod64 ~]#echo  www.serverA.com  > /var/www/html/index.html 

[root@xuegod64 ~]#echo  www.serverB.com  > /var/www/html/grub/index.html

[root@xuegod64 ~]# vim /etc/httpd/conf/httpd.conf

#Listen 12.34.56.78:80

Listen 80

Listen 81

 

NameVirtualHost *:80

<VirtualHost *:80>

    ServerAdmin webmaster@dummy-host.example.com

    DocumentRoot /var/www/html #虚拟主机80端口的网站根目录

    ServerName www.serverA.com #虚拟主机(web服务器)名称

    ErrorLog logs/dummy-host.example.com-error_log

    CustomLog logs/dummy-host.example.com-access_log common

</VirtualHost>

<VirtualHost *:81>

    ServerAdmin webmaster@dummy-host.example.com

    DocumentRoot /var/www/html/grub#虚拟主机81端口的网站根目录

    ServerName www.serverB.com #虚拟主机(web服务器)的名称

    ErrorLog logs/dummy-host.example.com-error_log

    CustomLog logs/dummy-host.example.com-access_log common

</VirtualHost>

[root@xuegod64 ~]# service httpd restart

 

(5) :测试:http://www.servera.com:8000/

wKioL1j_-iXxrb7xAABfeeT_5-8746.png 

http://www.serverb.com:8000/

wKioL1j_-jGx0wtpAABR5eqL5dQ454.png 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_701454.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

名称:53KF网站客服系统 v3.0.1官方版

2019独角兽企业重金招聘Python工程师标准>>> 名称&#xff1a;53KF网站客服系统 v3.0.1官方版 版本&#xff1a;3.0.1 软件大小&#xff1a;107 KB 软件语言&#xff1a;简体中文 软件授权&#xff1a;免费版 应用平台&#xff1a;Win7/Win2003/Vista/Win2000/WinXP…

《网站设计 开发 维护 推广 从入门到精通》——2.3 页面设计创意思维

本节书摘来自异步社区《网站设计 开发 维护 推广 从入门到精通》一书中的第2章&#xff0c;第2.3节&#xff0c;作者&#xff1a; 何新起 , 娄彦杰 更多章节内容可以访问云栖社区“异步社区”公众号查看。 2.3 页面设计创意思维 一个网站如果想确立自己的形象&#xff0c;就必须…

【全栈项目上线(vue+node+mongodb)】04. 怎么在一台主机上面部署多个网站,详细操作指南...

怎么在一台主机上面部署多个网站 使用Nginx的虚拟化配置 环境 使用一键安装lnmp环境请参考 https://segmentfault.com/a/11... 第一步&#xff1a;执行 lnmp vhost add lnmp vhost add 输入自己要绑定的域名&#xff0c;比如我现在需要绑定 itnote.cn 我在这个地方输入&#xf…

java门户网站项目代码_基于jsp的企业门户网站-JavaEE实现企业门户网站 - java项目源码...

基于jspservletpojomysql实现一个javaee/javaweb的企业门户网站, 该项目可用各类java课程设计大作业中, 企业门户网站的系统架构分为前后台两部分, 最终实现在线上进行企业门户网站各项功能,实现了诸如用户管理, 登录注册, 权限管理等功能, 并实现对各类企业门户网站相关的实体…

30分钟搞定后台登录界面(103个后台PSD源文件、素材网站)

去年八月时要做一个OA系统为了后台界面而烦恼&#xff0c;后来写了一篇博客&#xff08;《后台管理UI的选择》&#xff09;介绍了选择过程与常用后台UI&#xff0c;令我想不到的时竟然有许多开发者与我一样都为这个事情而花费不少时间&#xff0c;最后界面效果还是不佳&#xf…

谈谈读“SEO实战密码”的一些感悟

写在前面&#xff1a;SEO是叱咤网络营销、线上营销十多年的工具之一&#xff0c;当前不管是搜索引擎平台、电子商务平台、任何线上平台&#xff0c;都还在参考引用和不断完善SEO这门营销艺术。作为一新兴而又颇受争议的网络营销工具&#xff0c;从发展、进阶、火热、低迷的这一…

专家也要小心,HTTPS网址的网站就一定安全吗?

随着越来越多网站使用 SSL以提升在 Google搜寻中的排名&#xff08;请参考安全牛之前的报道”谷歌调整搜索排名算法&#xff0c;激励网站采用HTTPS安全协议“&#xff09;&#xff0c;使用者将必须了解到 HTTPS 前缀不再是他们判断网站是否安全的识别标志。他们必须在输入认证数…

15 -Flask构建弹幕微电影网站-基于角色的访问控制

本章内容: 基于角色的访问控制 已上线演示地址: http://movie.mtianyan.cn 项目源码地址&#xff1a;https://github.com/mtianyan/movie_project 基于角色的访问控制 角色的访问控制: 将职责和功能划分一个角色&#xff0c;比如电影管理员&#xff0c;预告管理员。 模型: Auth…

菜鸟站长应该如何防止网站被恶意攻击

随着互联网的发展&#xff0c;很多人都已经有了自己的网站。无论是企业&#xff0c;商家还是个人。以前&#xff0c;做一个网站都得在上千上万元。如今&#xff0c;网站建设的的价格也不再那么贵了&#xff0c;几百块钱就可以做一个网站。而且&#xff0c;这些几百块钱的网络公…

漫画:为什么一到年底,部分网站就会出现日期混乱?

作者 | 漫话编程本文经授权转载自漫话编程&#xff08;ID&#xff1a;mhcoding&#xff09;2019年最后一天&#xff0c;在家里看着跨年晚会&#xff0c;享受着这一年最后一天的闲暇时光&#xff0c;女朋友在旁边玩手机。看了一会之后她突然问我一些很奇怪的问题。于是我拿过他的…

百度或者Google---SEO优化

google和百度的技术差别: 1.百度还认不清哪个是原创的 2.google蜘蛛不够百度快 4.google排名结果随时变化 流量、权重、权威、内容、用户体验、用户关注度等等细节的排名&#xff0c;已表达了SEO的算法。 重要搜索引擎的网站登录入口地址: http://www.webmasterhome.cn/seo/add…

_网站建站基础第十一课(域名解析服务器环境linux安装宝塔)

在服务器&#xff0c;域名(国内备案)购买好之后&#xff0c;就可以开始搭建网站了&#xff0c;建站要为服务器解析好域名&#xff0c;然后配置好服务器环境&#xff0c;服务器环境就以linux系统宝塔面板为例给大家演示&#xff1a;域名备案成功后&#xff0c;进入服务器商的控制…

御用导航官方网站提醒提示页_电脑上使用便签记录工作计划如何设置闹钟定时提醒?...

平常工作日程事务比较多时&#xff0c;就很容易忘掉一些工作&#xff0c;这个时候很多工作族会选择经常使用的电脑工具来记录每日的工作计划&#xff0c;电脑如何设置闹钟定时提醒工作计划呢&#xff1f;电脑便签可以用来记录工作计划闹钟定时提醒的软件&#xff0c;建议使用敬…

关于大型网站技术演进的思考(七)--存储的瓶颈(7)

本文开篇提个问题给大家&#xff0c;关系数据库的瓶颈有哪些&#xff1f;我想有些朋友看到这个问题肯定会说出自己平时开发中碰到了一个跟数据库有关的什么什么问题&#xff0c;然后如何解决的等等&#xff0c;这样的答案没问题&#xff0c;但是却没有代表性&#xff0c;如果出…

高并发网站解决方案

2019独角兽企业重金招聘Python工程师标准>>> 一个小型的网站&#xff0c;可以使用最简单的html静态页面就实现了&#xff0c;配合一些图片达到美化效果&#xff0c;所有的页面均存放在一个目录下&#xff0c;这样的网站对系统架构、性能的要求都很简单。随着互联网业…

服务器安装织梦网站数据库,DedeCMS数据库及服务器空间更换教程

网站空间不稳定会影响SEO优化的效果&#xff0c;因为会降低搜索引擎对于网站的信任度判断&#xff0c;特别是最近使用香港空间的网站&#xff0c;会经常性遇到网站无法打开&#xff0c;或者打开速度非常慢&#xff0c;为了彻底解决稳定问题&#xff0c;唯有更换服务器空间&…

jar 工程我怎么在网页上url访问某一个方法_url及url参数与seo网站优化的关系

短视频&#xff0c;自媒体&#xff0c;达人种草一站服务首先我还是援引下百度百科关于url的定义。统一资源定位符(Uniform Resource Locator&#xff0c;缩写为URL)是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示&#xff0c;是互联网上标准资源的地址。互联网…

网博士自助建站系统_自助建站的优缺点介绍

自助建站我想大家都不陌生了&#xff0c;如果还不知道自助建站是什么的同学可以去小编之前的文章看看&#xff0c;有简单的介绍。话说回来&#xff0c;虽然自助建站越来越普及了&#xff0c;但是很多企业的老板并不知道自助建站到底和传统建站有什么区别&#xff1f;目前为止&a…

说说建站那些事

建站的初衷 我之前一直在CSDN上写博客(CSDN博客主页)&#xff0c;写了四年。后来认为一个热爱写作的程序猿应该要有一个自己独立站点&#xff0c;于是就有了自己建站的想法。由于建立个人博客站点有下面优点&#xff1a; 能很多其它地了解站点在互联网上执行的主要过程。自定义…

seo说_百度指数看世间沉浮_如何快速排名-互点快速排名_网站关键词排名常见问题 - 搜狗快速排名...

超级排名系统&#xff0c;网站关键词快速排名优化&#xff0c;7-15天关键词排名到首页&#xff0c;PC端和移动端都可以优化&#xff0c;支持百度、搜狗、360、神马等主流搜索引擎。作为SEO人员,当我们在做SEO优化过程中经常会遇到很多问题&#xff0c;需要我们注意的细节也有很…