squid提供了強(qiáng)大的代理控制機(jī)制,通過合理的設(shè)置ACL(Access Control List,訪問控制列表)并進(jìn)行限制,可針對源地址、目標(biāo)地址、訪問的URL路徑、訪問的時(shí)間等各種控制條件進(jìn)行過濾。
在文昌等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,成都全網(wǎng)營銷推廣,外貿(mào)營銷網(wǎng)站建設(shè),文昌網(wǎng)站建設(shè)費(fèi)用合理。ACL訪問控制通過以下兩個(gè)步驟來實(shí)現(xiàn):
①、使用acl配置項(xiàng)定義需要控制的條件;
②、通過http_access配置項(xiàng)對已定義的列表做“允許”或者“拒絕”訪問的控制。
格式:acl 列表名稱 列表類型 列表內(nèi)容 ···
常見的訪問控制列表類型
列表類型 | 列表內(nèi)容示例 | 含義、用途 |
---|---|---|
src(源地址) | 192.168.100.1、192.168.100.0/24 | 源IP地址、網(wǎng)段 |
dst(目標(biāo)地址) | 192.168.234.5、192.168.234.0/24、www.baidu.com | 目標(biāo)IP地址、網(wǎng)段、主機(jī)名 |
port(目標(biāo)端口) | 80、443、 8080、20 | 目標(biāo)端口 |
dstdomain(目標(biāo)域) | .qq.com | 目標(biāo)域,匹配域內(nèi)的所有站點(diǎn) |
time(訪問時(shí)間) | 12:00-13:00、AS | 使用代理服務(wù)器的時(shí)間段 |
maxconn(大并發(fā)連接) | 30 | 每個(gè)客戶機(jī)的大并發(fā)連接數(shù) |
url_regex(目標(biāo)url地址) | url_regex -i ^rtsp:// | 目標(biāo)資源的URL地址,-i表示忽略大小寫 |
urlpath_regex(整個(gè)目標(biāo)url路徑) | urlpath_regex -i sex adult | 目標(biāo)資源的整個(gè)URL路徑,-i表示忽略大小寫 |
2.設(shè)置訪問權(quán)限
定義好各種訪問控制列表以后,使用http_access配置項(xiàng)來進(jìn)行控制。
格式:http_access allow或deny 列表名···
在設(shè)置訪問權(quán)限時(shí),需要注意兩點(diǎn):
因?yàn)橹拔覀冏隽藄quid的透明代理的實(shí)驗(yàn),所以這里就接著那個(gè)實(shí)驗(yàn)繼續(xù)做,配置好透明代理后,我們可以使用IP為192.168.100.50的client(客戶端)訪問IP為12.0.0.12的web服務(wù)器,那么下面我們就通過設(shè)置acl訪問控制列表使client不能訪問web服務(wù)器
vim /etc/squid.conf
acl localhost src 192.168.100.0/24 #定義訪問控制列表
http_access deny localhost #對列表做拒絕處理
service squid stop
service squid start #重啟服務(wù)
squid的日志分析功能需要借助sarg(Squid Analysis Report Generator),首先先部署安裝sarg工具
yum -y install gcc gcc-c++ gd gd-devel httpd #這里的dg庫是支持圖像處理的軟件
sarg下載地址
mkdir /usr/local/sarg #為sarg創(chuàng)建安裝目錄
tar zxvf sarg-2.3.11.tar.gz -C /opt/ #將sarg解壓到指定目錄
cd /opt/sarg-2.3.11/ #到sarg目錄中進(jìn)行編譯安裝
./configure --prefix=/usr/local/sarg \ #這里指定安裝目錄
--sysconfdir=/etc/sarg \ #指定配置文件目錄
--enable-extraprotection #開啟額外保護(hù)功能
配置完后,進(jìn)行編譯和安裝
make && make install
vim /etc/sarg/sarg.conf
access_log /usr/local/squid/var/logs/access.log #指定訪問日志文件(開啟)
title "Squid User Access Reports" #網(wǎng)頁標(biāo)題(開啟)
output_dir /var/www/html/squid-reports #報(bào)告輸出目錄(開啟)
user_ip no #使用用戶名顯示(開啟)
exclude_hosts /usr/local/sarg/noreport #不計(jì)入排序的站點(diǎn)列表文件(開啟,刪除none,添加路徑)
topuser_sort_field connect reverse #top排序中有連接次數(shù)、訪問字節(jié)、降序排列升序是normal (開啟,修改BYTES)
user_sort_field connect reverse #用戶訪問記錄 連接次數(shù)、訪問字節(jié)按降序排序 (開啟,修改BYTES)
overwrite_report no #同名日志是否覆蓋(開啟)
mail_utility mailq.postfix #發(fā)送郵件報(bào)告命令(開啟,修改mail)
charset UTF-8 #使用字符集 (開啟)
weekdays 0-6 #top排行的星期周期 (開啟)
hours 0-23 #top排行的時(shí)間周期(開啟)
www_document_root /var/www/html #網(wǎng)頁根目錄(開啟)
touch /usr/local/sarg/noreport 創(chuàng)建上述不計(jì)入站點(diǎn)文件,添加的域名將不被顯示在排序中
ln -s /usr/local/sarg/bin/sarg /usr/local/bin/
#建立軟鏈接,方便使用命令systemctl start httpd.service
#因?yàn)槲覀円诰W(wǎng)頁里訪問日志,需要我們開啟httpd服務(wù)
然后使用client登錄網(wǎng)頁管理界面
squid反向代理可以加速網(wǎng)站的訪問速度,可將不同的URL請求分發(fā)到后臺不同的web服務(wù)器上,同時(shí)互聯(lián)網(wǎng)用戶只能看到反向代理服務(wù)器的地址,加強(qiáng)網(wǎng)站的訪問安全。
squid反向代理加速的原理描述如下:
Squid反向代理服務(wù)器位于本地Web服務(wù)器和Internet之間,客戶端請求訪問Web服務(wù)器時(shí),DNS將訪問的域名解析為Squid反向代理服務(wù)器的IP地址,客戶端將訪問Squid代理服務(wù)器。
實(shí)驗(yàn)環(huán)境
服務(wù)器 | IP地址 | 功能 |
---|---|---|
代理服務(wù)器 | 172.16.10.137 | squid代理服務(wù) |
client | 172.16.10.131 | 負(fù)責(zé)訪問 |
真實(shí)服務(wù)器1 | 172.16.10.129 | 提供http服務(wù) |
真實(shí)服務(wù)器2 | 172.16.10.134 | 提供http服務(wù) |
vim /etc/squid.conf
acl web1 dstdomain www.yun.com
acl web2 dstdomain www.yun.com
#定義兩個(gè)個(gè)基于域名的控制列表,分別命名為web1,web2
http_access allow web1 web2
#允許以web1,web2為目標(biāo)域名的訪問
http_port 172.16.10.137:80 accel vhost vport
#將端口監(jiān)聽在 172.16.10.137的80端口上,accel 指啟用加速模式,vhost,vport用于轉(zhuǎn)發(fā)請求
cache_peer 172.16.10.29 parent 80 0 no-query originserver round-robin weight=1 name=web1
#cache_peer 指定后端服務(wù)器地址,80 為后端服務(wù)端口,0 為 ICP 端口號(多個(gè) Squid 時(shí)用),originserver 指定資源服務(wù)器,round-robin指使用輪詢方式,weight指的是權(quán)重,自由分配,name 指定一個(gè)別名
cache_peer 172.16.10.134 parent 80 0 no-query originserver round-robin weight=1 name=web2
#和上面的一樣
這里記得重新啟動squid服務(wù)
這樣就實(shí)驗(yàn)成功了,訪問www.yun.com,真實(shí)服務(wù)器會使用輪詢的方式,分別輪流訪問兩臺web服務(wù)器。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。