- Squid鲤桥,一個(gè)高性能的代理緩存服務(wù)器茶凳,支持FTP、gopher筒狠、HTTP協(xié)議箱沦。
Squid谓形,一個(gè)緩存Internet 數(shù)據(jù)的軟件,其接收用戶的下載申請(qǐng)(作為代理服務(wù)器)聘萨,并自動(dòng)處理所下載的數(shù)據(jù)冯袍,并返回給客戶康愤。
- 當(dāng)一個(gè)用戶想要下載一個(gè)主頁(yè)(如QQ:https://qq.com)時(shí)征冷,可以向Squid 發(fā)出一個(gè)申請(qǐng),讓Squid 代替其進(jìn)行下載肴捉,然后Squid 連接所申請(qǐng)網(wǎng)站并請(qǐng)求該主頁(yè)叔收,接著把該主頁(yè)傳給用戶同時(shí)保留一個(gè)備份饺律,當(dāng)別的用戶申請(qǐng)同樣的頁(yè)面時(shí),Squid 把保存的備份立即傳給用戶脖卖,使用戶覺(jué)得速度相當(dāng)快巧颈。Squid 可以代理HTTP砸泛、FTP蛆封、GOPHER娶吞、SSL和WAIS等協(xié)議并且Squid 可以自動(dòng)地進(jìn)行處理械姻,可以根據(jù)自己的需要設(shè)置Squid,使之過(guò)濾掉不想要的東西绣夺。
- Squid 是一個(gè)跨平臺(tái)服務(wù)陶耍,可運(yùn)行在大多數(shù)Unix和OS/2版本的系統(tǒng)之上她混,已知的可工作的有:
Windows,AIX坤按,Digital Unix,F(xiàn)reeBSD酗钞,HP-UX来累,Irix嘹锁,Linux,NetBSD压昼,Nextstep瘤运,SCO,Solaris
Squid 官網(wǎng):http://www.squid-cache.org
1. 安裝 squid
rpm -qa | grep squid
squid-3.5.20-12.el7.x86_64 // 表示安裝過(guò)
yum -y install squid // 安裝
2. 設(shè)置開(kāi)機(jī)自啟動(dòng) squid
systemctl enable squid.service
3. 配置文件 squid.conf
vim /etc/squid/squid.conf
找到
http_access deny all
在之前添加下面數(shù)行內(nèi)容:注意路徑
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm hello-mimvp
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
acl myproxy proxy_auth REQUIRED
http_access deny !myproxy
http_access allow myproxy
增加2句匠题,隱藏真實(shí)ip變成匿名代理拯坟,這是squid 3.1的寫法
via off
forwarded_for delete
添加后配置如下:
############# start ############
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm hello
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
acl myproxy proxy_auth REQUIRED
http_access deny !myproxy
http_access allow myproxy
via off
forwarded_for delete
############# end ##############
4. 用戶名密碼認(rèn)證 squid
利用 apache 攜帶的工具 htpasswd 生成密碼文件
htpasswd 是apache httpd自帶工具,需要先安裝 httpd韭山,安裝expect便于自動(dòng)化交互設(shè)置密碼
yum -y install httpd httpd-devel expect
并添加相應(yīng)的用戶信息
/usr/bin/htpasswd -c /etc/squid/passwd y-guest
根據(jù)提示輸入密碼:qaz123
成功后將會(huì)在 /etc/squid/passwd 中寫入:
用 cat /etc/squid/passwd 命令查看,顯示如下:
y-guest:MsJeP9bZ$BLCJYnpQyFR.dV5SBDxMg0
第一列是用戶名郁季,第二列是密碼
5. 參數(shù)檢查和設(shè)置緩存
5.1 參數(shù)檢查
squid -k parse
5.2 設(shè)置緩存
vim /etc/squid/squid.conf
去掉下面一行的注釋#冷溃,否則squid -z無(wú)法執(zhí)行
cache_dir ufs /var/spool/squid 100 16 256
去掉后,初始化緩存
squid -z
[root@MyCloudServer ~]# squid -z
2018/06/22 09:19:08| Squid is already running! Process ID 1065
6. 啟動(dòng)服務(wù) squid
systemctl start squid.service
查看3128已經(jīng)在運(yùn)行服務(wù)了
netstat -ntpl | grep 3128
顯示如下:
[root@MyCloudServer ~]# netstat -ntpl | grep 3128
tcp6 0 0 :::3128 :::* LISTEN 1065/(squid-1)
如果開(kāi)啟了防火墻iptables規(guī)則梦裂,則還需要在/etc/sysconfig/iptables里添加下面一行,允許3128端口訪問(wèn):
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3128 -j ACCEPT
或者直接使用下面的命令關(guān)閉防火墻
systemctl stop firewalld.service
如果使用阿里云年柠、騰訊云凿歼、AWS等云服務(wù)器搭建Squid,則需要在安全策略里冗恨,允許3128端口訪問(wèn)
7. 查看日志 squid
tail -f /var/log/squid/access.log
tail -f /var/log/squid/cache.log
這個(gè)時(shí)候我們的代理服務(wù)器就基本上已經(jīng)搭建好了,接下來(lái)是設(shè)置代理測(cè)試驗(yàn)證
8.驗(yàn)證生效
8.1 Firefox 插件測(cè)試
首先答憔,安裝 Proxy Switcher
-
其次,配置代理掀抹,如下圖:
-
這個(gè)時(shí)候在去訪問(wèn)網(wǎng)站就會(huì)彈出一個(gè)輸入用戶密碼的訪問(wèn)了
輸入用戶名和密碼,就是剛才上面設(shè)置的,這個(gè)時(shí)候通過(guò)百度搜索ip得到如下圖:
大功告成,以上就是基于squid如何搭建http代理服務(wù)器的詳細(xì)過(guò)程了!