1. 安装squid2.7版本,一定要2.7版本,新版本不支持
$ ./configure --prefix=/usr/local/squid --sysconfdir=/usr/local/squid/etc --bindir=/usr/local/squid/bin --sbindir=/usr/local/squid/sbin --mandir=/usr/local/squid/share/man --enable-gnuregex --enable-carp --enable-async-io=80 --enable-removal-policies=heap,lru --enable-icmp --enable-delay-pools --enable-useragent-log --enable-referer-log --enable-kill-parent-hack --enable-snmp --enable-arp-acl --enable-htcp --enable-cache-digests --enable-default-err-language=Simplify_Chinese --enable-err-languages="Simplify_Chinese" --enable-poll --enable-linux-netfilter --disable-ident-lookups --enable-underscores --enable-auth="basic" --enable-basic-auth-helpers="NCSA" --enable-external-acl-helpers="ip_user" --enable-x-accelerator-vary
$ make
$ make install
2. 修改配置文件
$ cd /usr/local/squid/
在alc部分添加下面代码
#rewrite store url youku tudou souhu iqiyi
acl store_url url_regex -i ^http:\/\/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\/.*(\.flv|\.m4v\?|\.f4v\?|\.mp4\?|\.ts\?|\.letv\?)
acl store_url_no_domain urlpath_regex -i ^\/(.*\/.*\.flv$)
storeurl_access allow store_url
storeurl_access allow store_url_no_domain
storeurl_access deny all
storeurl_rewrite_program /usr/local/squirm/bin/squirm
storeurl_rewrite_children 5
3. 运行squid
第一次运行时,先运行squid -z创建缓存文件夹。缓存文件夹在/usr/local/squid/var下创建,因此创建缓存前还需运行chmod 777 /usr/local/squid/var给该文件夹权限。
再运行squid -d 1开启squid即可。
如果要关闭squid,运行squid -k shutdown则是安全关闭。
$ /usr/local/squid/sbin/squid
启动时报错了,如下
FATAL: Cannot open '/usr/local/squid/var/logs/access.log' for writing.
The parent directory must be writeable by the
user 'nobody', which is the cache_effective_user
set in squid.conf.
Squid Cache (Version 2.7.STABLE9): Terminated abnormally.
CPU Usage: 0.005 seconds = 0.001 user + 0.004 sys
Maximum Resident Size: 15008 KB
Page faults with physical i/o: 0
修改权限解决:
$ chown -R nobody /usr/local/squid/var/logs/access.log
$ echo>var/logs/store.log
$ chown -R nobody /usr/local/squid/var/logs/store.log
$ ./sbin/squid -z
$ ./sbin/squid -d 1
4. 修改/etc/resolve.conf添加DNS
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.237.2
nameserver 192.168.199.1
nameserver 114.114.114.114
nameserver 8.8.8.8
search localdomain
5. 安装squirm
wget http://squirm.foote.com.au/squirm-1.0betaB.tar.gz mv squirm-1.0betaB.tar.gz /usr/local/src cd /usr/local/src/ tar xvf squirm-1.0betaB.tar.gz cd squirm-1.0betaB cd regex ./configure make clean make cp -p regex.o regex.h ../ cd ../ make make install6. 配置squirm
$ cd /usr/loca/squirm/etc/
$ cp squirm.local.dist squirm.local
$ squirm.patterns.dist squirm.patterns
修改squirm.local文件,将客户端所在的IP地址段,以标准C类IP地址段为单位,以192.168.1的形式,每行一个记录,写入到该文件中。这些地址,不是squid进程所在的主机IP,而是使用squid的客户端的IP地址,即用户IP。
[root@webcache ~]# more /usr/local/squirm/etc/squirm.local 127.0.0 10.1.5 10.1.6编辑squirm.patterns文件,重写来自优酷以及其他在线视频网站的“媒体文件URL”。
# tudou video cdn has change to youku ,but keep it! regex http://[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}[^&]*/f4v/.*id=tudou.itemid\=([0-9]*).* http://www.tudou.com.SQUIDTUDOUA/\1 regex http://[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}[^&]*/flv/.*id=tudou.itemid\=([0-9]*).* http://www.tudou.com.SQUIDTUDOUB/\1 #site:sohu tv status:OK date:20141024 regex http://[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}/sohu/[0-9]/[0-9]*/[0-9]*/(.*)\.mp4\?key=.* http://tv.sohu.com.SQUIDSOHUTV/\1.mp4 #site:iqiyi status:OK date:201403120956 regex http://[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}/videos/v/.*/(.*\.f4v)? http://www.iqiyi.com.SQUIDIQIYI/\1 #site:youku part-tudou status:OK date:201403120956 regex http://[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}/youku/.*/(.*-.*-.*-.*-[^?]*)(.*) http://www.youku.com.SQUIDYOUKU/\1 #site:letv status:OK date:201403122047 regex http://[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/[0-9]*/[0-9]*/[0-9]*/letv-uts/[0-9]*/(.*_mp4)/(.*)\.ts\? http://www.letv.com.SQUIDLETVA/\1/\2.mp4 regex http://[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/[0-9]*/[0-9]*/[0-9]*/letv-uts/(.*)\.letv\?.*\&video_type=(...)\&.*\&rstart=(.*)\&rend=(.*) http://www.letv.com.SQUIDLETVB/\1-\3-\4.\2 #site:v.qq.com status:OK date:201403122102 regex http://[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/[0-9]*/.*\.qq\.com/.*/[0-9]*/[0-9]*/(.*)\.mp4\? http://v.qq.com.SQUIDQQ/\1.mp4 #site:v.ifeng.com status:OK date:201403130838 regex http://[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/data[0-9]*/documentary/[0-9][0-9][0-9][0-9]/[0-9][0-9]/[0-9][0-9]/(.*)\.mp4 http://v.ifeng.com.SQ UIDIFENG/\1.mp4 #site:56 status:OK date:201403130846 regex http://[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/.*\.56\.com/flvdownload/[0-9]*/[0-9]*/(.*)\.flv\?.* http://www.56.com.SQUID56/\1.flv #此文件内容,需要不断的发现、归纳、丰富!通过squidclient -h 127.0.0.1 mgr:store_rewriter命令查询squirm的运行状态。如下所示,
[root@webcache ~]# squidclient -h 127.0.0.1 mgr:store_rewriter HTTP/1.0 200 OK Server: squid/2.7.STABLE9 Date: Mon, 17 Mar 2014 08:32:23 GMT Content-Type: text/plain Expires: Mon, 17 Mar 2014 08:32:23 GMT X-Cache: MISS from webcache Via: 1.0 webcache:3128 (squid/2.7.STABLE9) Connection: close Redirector Statistics: program: /usr/local/squirm/bin/squirm number running: 5 of 5 requests sent: 154 replies received: 154 queue length: 0 avg service time: 0.37 msec # FD PID # Requests # Pending Flags Time Offset Request 1 9 8044 120 0 0.000 0 (none) 2 10 8045 0 0 0.000 0 (none) 3 11 8046 0 0 0.000 0 (none) 4 12 8047 0 0 0.000 0 (none) 5 14 8048 0 0 0.000 0 (none) Flags key: B = BUSY C = CLOSING S = SHUTDOWN [root@webcache ~]#
相关推荐
首先,介绍了为什么需要使用Squid代理服务器来实现身份验证。在Windows NT服务器上,可以使用Windows Proxy Server来实现身份验证。但是,在Linux操作系统下,需要使用Squid代理服务器来实现相同的功能。 接下来,...
使用iptables规则将所有外出流量重定向到Squid代理: ```bash sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128 sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j ...
搭建 Linux 下的 Squid 代理服务器 ...搭建 Linux 下的 Squid 代理服务器需要对 Squid 软件的安装、配置和管理进行详细的了解和掌握,同时需要对其提供的访问控制策略进行配置,以保证代理服务器的合法使用。
Squid缓存代理服务器的安装与配置(普通代理 透明代理 反向代理) Squid缓存代理服务器是一种流行的代理服务器和Web缓存服务器软件,广泛应用于提高Web服务器速度、缓存万维网、域名系统和其他网络搜索、帮助网络...
Squid是一个应用级代理,在保证客户端主机和服务器主机网络连通后,需要客户端软件做相应的设置后才能使用,比如给Internet Explorer设置代理服务器地址、端口等。 WEB缓存功能对于一个规模较大、访问繁忙的...
linux squid搭建超详细
透明代理服务器搭建(Linux 搭建 Squid 代理) 透明代理服务器是一种特殊的代理服务器,它可以在不需要客户端进行任何配置的情况下,自动将 HTTP 请求转发到代理服务器上。今天,我们将学习如何在 Linux 环境中搭建...
├── etc squid配置文件├── libvideoreg 视频缓存动态链接库,用来解析不同视频网站URL├── squid-2.7.STABLE9-new 打过patch后的squid-2.7.STABLE9├── squid squid-2.7.STABLE9的视频缓存patch文件└──...
在本文中,作者探讨了如何利用Linux操作系统和Squid软件构建一个优化的缓存代理服务器。Squid是一个开源的代理服务软件,允许用户自由使用和修改,常用于提高网络访问速度和效率。在基于Linux的环境中,Squid作为...
Squid是一个缓存internet数据的一个软件,它接收用户的下载申请,并自动处理所下载的数据。也就是说,当一个用户想要下载一个主页时,它向Squid发出一个申请,要Squid替它下载,然后Squid 连接所申请网站并请求该...
Squid 是一个高性能的代理缓存服务器,适用于多种网络环境。作为正向代理,Squid 可以接收客户端的HTTP和HTTPS请求,然后将这些请求转发到实际的API服务器。配置 Squid 正向代理通常涉及以下几个步骤: 1. 安装 ...
一、squid代理服务器概述; 二、squid代理服务器模式; 三、案例:搭建squid代理传统代理服务器; 搭建squid代理传统代理服务器
1. 安装Squid代理服务器:在Ubuntu中安装Squid代理服务器可以使用命令$sudo apt-get install squid。安装完成后,需要下载一个squid配置文件squid.conf,并将其复制到/etc/squid/目录下。 知识点:Squid是一个流行...
- **缓存内存大小**:`cache_mem 64 MB`,设置 Squid 使用的物理内存大小。 - **最大对象大小**:`maximum_object_size 4096 KB`,限制缓存中单个对象的最大尺寸。 - **下载文件大小限制**:`reply_body_max_size ...
总的来说,搭建和管理Squid代理服务器需要对网络协议、操作系统和服务器配置有一定的理解。通过正确配置和优化,Squid能有效地提升网络性能,同时提供了一定程度的网络访问控制。对于TCP_MISS/503错误,排查日志并...
Squid 是一款广泛使用的开源代理缓存服务器,它能够为局域网内的用户提供更快的Web访问速度,并通过缓存机制减轻对外部网络的带宽压力。在安装与配置Squid 的过程中,用户可能会遇到多种启动失败的情况,特别是当...
使用浏览器访问 Squid 代理,检查是否能正确获取并缓存网页。同时,查看日志确认请求被正确处理。 ### 6. 高级配置 - **内容过滤**:Squid 支持多种内容过滤机制,如 SquidGuard,用于阻止特定类型的内容。 - **...
本文档详细介绍了在 RedHat Linux 9.0 环境下使用 Squid 和 iptables 搭建透明代理服务器的过程。透明代理服务器可以提供高速、支持多协议的代理服务,满足大多数用户的需求。 首先,需要安装 Squid 软件包,并对其...
CentOS 搭建 Squid 代理服务器指南 Squid 是一个流行的开源代理服务器,可以帮助我们缓存网络资源,减少网络带宽的占用,提高网络访问速度。下面我们将详细介绍如何在 CentOS 系统上搭建 Squid 代理服务器。 安装 ...