其實之前配過一個squid吞鸭,只是由于太懶,網(wǎng)上隨便搜了一個教程覆糟,用了默認(rèn)端口并且沒有添加用戶認(rèn)證刻剥。某天不幸的被爬蟲掃到,被用來發(fā)了半個月的垃圾郵件滩字。造虏。直到有一天登錄郵箱御吞,看到了一大坨警告郵件,才意識到問題的嚴(yán)重漓藕。驚了個呆之后陶珠,趕緊重配一遍-.-
我這里是用squid配置了一個帶用戶認(rèn)證的普通代理。
安裝
安裝過程十分簡便享钞,只需要安裝一下squid揍诽,一條命令搞定。我這里裝的是squid3.3栗竖。
yum install squid
rpm -qa | grep squid
squid-3.3.8-12.el7_0.x86_64
配置
修改squid的配置文件 /etc/squid/squid.conf
主要就是配置一下端口暑脆,緩存,日志和訪問規(guī)則狐肢。
## 前邊有的配置項選擇刪除或屏蔽
http_port 3712
cache_mem 64 MB
maximum_object_size 4 MB
cache_dir ufs /var/spool/squid 100 16 256
access_log /var/log/squid/access.log
http_access allow all
visible_hostname squid.chao
初始化
在第一次啟動之前或者修改了cache路徑之后添吗,需要重新初始化cache目錄。
squid -z
啟動
systemctl start squid
使用
在瀏覽器中修改代理配置即可份名。
-
在windows中:
- Internet選項 -> 連接 -> 局域網(wǎng)連接 -> 代理服務(wù)器
-
在macOSX中:
- Safari -> 偏好設(shè)置 -> 代理 -> Web代理
然后輸入你的代理地址和端口碟联,就可以正常工作了。
測試
我從網(wǎng)上看到一個非常簡單的方法僵腺,可以用來快速測試你的代理是否正常工作鲤孵。首先打開百度,然后搜索ip想邦。如果出來的是你代理的那臺機(jī)器的ip裤纹,那么恭喜你委刘,一大波垃圾郵件即將趕來丧没。
添加用戶認(rèn)證
我們這里通過ncsa認(rèn)證模塊來為我們的squid添加認(rèn)證。為什么我選擇ncsa呢锡移,因為我從網(wǎng)上搜到的大多用了這個方式呕童。。
首先我們得配置我們的訪問用戶的賬戶信息淆珊。最后一個參數(shù)是用戶名夺饲,可以替換成任何你喜歡的名字~
htpasswd -c /etc/squid/passwd chao
如果找不到htpasswd,就先裝個Apache施符。yum install httpd往声。 然后就能使用htpasswd了。
有了帳戶文件之后戳吝,我們重新配置我們的squid浩销。在squid.conf里面,把
http_access allow all
改成
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm chao's squid server
auth_param basic credentialsttl 2 hours
acl myacl proxy_auth REQUIRED
http_access allow myacl
http_access deny all
最后重啟squid就可以啦听哭。
systemctl restart squid
現(xiàn)在當(dāng)你使用代理訪問頁面的時候慢洋,會先彈出一個提示框塘雳,讓你輸入用戶名密碼。然后就可以繼續(xù)訪問了普筹。
配置說明
有些人可能一開始對原理以及配置的詳細(xì)介紹并不感冒败明,只是想讓代理先跑起來再說。至少我本人就是這樣子的太防。妻顶。所以,我把這塊放在了最后杏头。
現(xiàn)在盈包,就開始介紹一下上面配置的具體內(nèi)容。當(dāng)然參考 官網(wǎng)(http://www.squid-cache.org/Doc/config/) 會更加詳細(xì)準(zhǔn)確醇王。