squid搭建正向代理服务器----让你浏览速度快如闪电

Squid 简介



Squid是比较知名的代理软件,不仅可以做正向代理,又可以做反向代理。

当作为正向代理时,Squid后面是客户端,客户端想上网不管什么网都得经过Squid. 当一个用户(客户端)想要请求一个主页时,它向Squid发出一个申请,要Squid替它请求,然后Squid 连接用户要请求的网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户请求同样的页面时,Squid把保存的备份立即传给用户,使用户觉得速度相当快。使用正向代理时,客户端需要做一些设置,才能实现,也就是平时我们在IE选项中设置的那个代理。

而反向代理是,Squid后面为某个站点的服务器,客户端请求该站点时,会先把请求发送到Squid上,然后Squid去处理用户的请求动作。教你一个特别容易的区分:正向代理,Squid后面是客户端,客户端上网要通过Squid去上;反向代理,Squid后面是服务器,服务器返回给用户数据需要走Squid.

正向代理的工作流程



搭建正向代理



CentOS系统自带Squid包,但是需要安装一下:

[[email protected] ~]# yum install -y squid

安装完后,可以查看squid版本和编译参数:

[[email protected] ~]# squid -v
Squid Cache: Version 3.1.10

重写配置文件

还记得之前重定向符号清空文档内容么

  >/etc/squid/squid.conf
  vim /etc/squid/squid.conf
http_port 3128                                                       //启动后监听3128端口
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1                                   //定义本地网段
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443
acl Safe_ports port 80 8080         # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl CONNECT method CONNECT
http_access allow manager localhost                                    //允许本地网段使用
http_access deny manager                                               //拒绝所有
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access allow localhost
http_access allow all
cache_dir aufs /data/cache 10240 16 256                               //缓存分10个G
cache_mem 2048 MB                                                     //内存分2个G
hierarchy_stoplist cgi-bin ?
coredump_dir /var/spool/squid
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern \.(jpg|png|gif|mp3|xml) 1440    50%     2880    ignore-reload
refresh_pattern .               0       20%     4320

配置文件保存好后,可以先检测一下是否有语法错误:

[[email protected] ~]# squid -kcheck

如果提示信息为:

squid: ERROR: No running copy

这是说squid还未启动,没有关系,显示成这样说明配置文件没有问题了。

在启动前还得再做一件事,就是初始化缓存目录:

[[email protected] ~]# mkdir /data/cache               //如果没有data目录请先建data
[[email protected] ~]# chown -R squid:squid /data/cache/
[[email protected] ~]# squid -z
2014/11/12 16:25:14| Creating Swap Directories
2013/11/12 16:25:14| /data/cache exists

好了,初始化完成后,就可以启动squid了:

[[email protected] ~]#
正在启动 squid:.                                          [确定]

查看squid是否启动:

[[email protected] ~]# ps aux |grep squid
root      7201  0.0  0.7  14524  2444 ?        Ss   16:25   0:00 squid -f /etc/squid/squid.conf
squid     7204  0.0  2.7  17468  9024 ?        S    16:25   0:00 (squid) -f /etc/squid/squid.conf
squid     7205  0.0  0.2   3280   916 ?        S    16:25   0:00 (unlinkd)

验收结果



1.直接使用curl命令测试即可:

[[email protected] ~]#  curl -xlocalhost:3128  http://www.baidu.com/

如果你看到了一大串,说明squid正向代理设置ok啦。另外我们也可以观察squid对图片的缓存:

<!DOCTYPE html><!--STATUS OK--><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><meta http-equiv="X-UA-Compatible" content="IE=Edge"><link rel="dns-prefetch" href="//s1.bdstatic.com"/><link rel="dns-prefetch" href="//t1.baidu.com"/> href="//t12.baidu.com"/><link rel="dns-prefetch" href="//b1.bdstatic.com"/><title>百度一下,你就知道</title>

2.配置浏览器代理

打开浏览器(以IE为例,其他类似),菜单栏 -> 工具 -> Internet 选项 -> 连接 -> 局域网设置 -> 代理服务器,按照以下格式设置。

输入你自己的squid服务器地址哟!

时间: 2024-10-06 04:17:10

squid搭建正向代理服务器----让你浏览速度快如闪电的相关文章

Squid 搭建正向代理服务器

Squid 是一款缓存代理服务器软件,广泛用于网站的负载均衡架构中,常见的缓存服务器还有varnish.ATS等. 正向代理服务器可满足内网仅有一台服务器可以上网,而要供内网所有机器上网的需求,也可以用于爬虫的代理访问.在实践中我将Squid作为爬虫代理服务器,实现了多IP切换的功能,将在后续文章中记录实现过程. 安装 系统环境: CentOS 7.0Squid版本:3.5.20 源代码安装 到官方网站 http://www.squid-cache.org/Versions/ 查找版本号,找到下

Nginx系列-10.采用Nginx搭建正向代理服务

Nginx系列-10.采用Nginx搭建正向代理服务 目录 - Nginx系列 Nginx系列-1.Linux下安装Nginx Nginx系列-2.配置LNMP(Linux.Nginx.MySQL.PHP)架构 Nginx系列-3.配置Nginx虚拟主机 Nginx系列-4.Nginx日志配置及日志切割 Nginx系列-5.配置Nginx的防盗链 Nginx系列-6.配置Nginx的HTTPS Nginx系列-7.配置Nginx使用uwsgi支持web.py框架 Nginx系列-8.配置Ngin

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

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

Nginx搭建反向代理服务器过程详解 - Windows

本文主要是Nginx做一个简单的反向服务器代理和静态文件缓存. 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器 我们就开始动手吧. 1. Vistudio 创建两个简单的 WebApplication (Web Forms),一个叫WebApplication1,一个叫 WebApplication2. 为了区别

Linux网络服务--LAMP+Nginx+Squid搭建web集群

一.         项目名称         LAMP+Nginx+Squid搭建web集群环境 二.         项目拓扑 三.         项目描述 3.1 项目环境 某部队为了满足信息化政治工作建设需要,用以丰富官兵日常生活内容,活化教育形式,更好的建设部队人文环境,准备架设部队内部的网站服务器,并申请使用军内公网IP:1.1.1.1 基于以上情况为该部提出以下解决方案.   3.2 实施方案 3.2.1  服务器操作系统与软件版本选择 操作系统选择RedHat企业版5.10:

如何搭建web服务器 使用Nginx搭建反向代理服务器

转载   如何搭建web服务器 使用Nginx搭建反向代理服务器 :   http://blog.csdn.net/w13770269691/article/details/6977727 引言:最近公司有台服务器遭受DDOS攻击,流量在70M以上,由于服务器硬件配置较高所以不需要DDOS硬件防火 墙.但我们要知道,IDC机房是肯定不允许这种流量一直处于这么高的,因为没法具体知道后面陆续攻击的流量会有多大,如果流量过大就会导致整个IDC网络 瘫痪.我们都知道北方的数据中心和南方的数据中心从带宽出

正向代理服务器,反向代理服务器

1.正向代理服务器,就是你们平时范强用的,用户输入任意网址请求代理服务器,代理服务器根据用户的请求网址,给用户网址信息. 2.反向代理服务器,一般是做负载或者隐藏真正服务器用的,用户访问一个固定的网址,接受这个请求的是反向代理服务器,反向代理服务器根据自己的策略去真正的服务器获取资源,给用户网址信息,用户感觉不到反向代理服务器的存在,这里反向代理服务器是处理真正服务器策略的.

基于tinyproxy搭建yum代理服务器

在我们实际的工作当中,经常会遇到这种情况,我们对线上服务器进行操作时是通过跳板机来进行的,出于安全性及投入资金来考虑非必要情况下除跳板机以外的服务器是没有内网ip的,所以当我们位于内网的服务器需要使用yum安装软件包时就遇到了不能连接网络的问题,我们可以通过部署基于Tinyproxy的http代理来用作yum代理,操作如下: 1.首先我们还是新建了一个名为TInyproxy的docker容器,新建容器后我们发现我们并没有ping命令,所以需要安装initscripts包 [[email prot

搭建MySQL代理服务器实现读写分离+主从同步

实验需求: 1.配置2台MySQL服务器(192.168.100.2,192.168.100.3)+1台代理服务器(192.168.100.1),实现MySQL代理的读写分离. 2.用户只需要访问MySQL代理服务器,实际的SQL查询.写入操作交给后台的2台MySQL服务器来完成. 3.2台MySQL服务器实现主从同步,其中Master服务器允许SQL查询.写入,Slave服务器只允许SQL查询. 一 .MASTER数据库服务器(192.168.100.2)的配置 1.安装软件包(本实验采用My