說(shuō)明:
當(dāng)客戶機(jī)通過(guò)代理來(lái)請(qǐng)求web頁(yè)面時(shí),指定的代理服務(wù)器會(huì)先檢查自己的緩存,如果緩存中已經(jīng)有客戶機(jī)需要訪問(wèn)的頁(yè)面(紅色1 2 3 4),則直接將緩存中的頁(yè)面內(nèi)容反饋給客戶機(jī);如果緩存中沒(méi)有客戶機(jī)需要訪問(wèn)的頁(yè)面(藍(lán)色1 2 3 4),則由代理服務(wù)器向Internet發(fā)送訪問(wèn)請(qǐng)求,當(dāng)獲得返回的web頁(yè)面以后,將網(wǎng)頁(yè)數(shù)據(jù)保存到緩存中并發(fā)送給客戶機(jī)。使用傳統(tǒng)代理的特點(diǎn)在于,客戶機(jī)的相關(guān)程序必須指定代理服務(wù)器的地址、端口等基本信息。下面進(jìn)行傳統(tǒng)代理服務(wù)器的構(gòu)建。
.
.
壓縮文件包
鏈接: https://pan.baidu.com/s/1GmD1SCoYeWYFi9W1BG_Z-Q 提取碼: kkcn
.
.
拓?fù)鋱D如下:
.
.
實(shí)驗(yàn)環(huán)境:
.
.
一、編譯安裝squid
.
1 . 將壓縮包掛載、解壓到服務(wù)器中,安裝編譯環(huán)境
mkdir /ooo/ #創(chuàng)建掛載目錄
mount.cifs //192.168.201.1/gx /ooo/ #掛載壓縮包
cd /ooo/
tar zxvf squid-3.5.23.tar.gz -C /opt/ #解壓到/opt/
yum install gcc gcc-c++ make -y #安裝編譯環(huán)境
.
.
2 .手工編譯安裝
./configure --prefix=/usr/local/squid \ #指定安裝路徑
--sysconfdir=/etc \ #配置文件路徑
--enable-arp-acl \ #mack地址
--enable-linux-netfilter \ #內(nèi)核過(guò)濾
--enable-linux-tproxy \ #透明模式
--enable-async-io=100 \ #io優(yōu)化
--enable-err-language="Simplify_Chinese" \ #報(bào)錯(cuò)顯示
--enable-underscore \ #允許有下劃鍵
--enable-poll \ #提升
--enable-gnuregex #支持正則表達(dá)式
make && make install
.
.
3 . 安裝完后,創(chuàng)建鏈接文件,用戶和組
ln -s /usr/local/squid/sbin/* /usr/local/sbin/ #將命令放入系統(tǒng)識(shí)別路徑下
useradd -M -s /sbin/nologin squid #創(chuàng)建一個(gè)用戶
chown -R squid.squid /usr/local/squid/var/ #更改目錄權(quán)限
.
.
4 . 修改squid配置文件,初始化緩存目錄,啟動(dòng)服務(wù),完成安裝
vim /etc/squid.conf
# And finally deny all other access to this proxy
http_access allow all #允許所有
http_access deny all
# Squid normally listens to port 3128
http_port 3128
cache_effective_user squid #添加 指定程序用戶
cache_effective_group squid #添加 指定賬號(hào)基本組
squid -z #緩存目錄初始化
squid #啟動(dòng)服務(wù)
.
.
5 .編寫(xiě)啟動(dòng)腳本
cd /etc/init.d
vim squid
#!/bin/bash
#chkconfig: 2345 90 25
PID="/usr/local/squid/var/run/squid.pid"
CONF="/etc/squid.conf"
CMD="/usr/local/squid/sbin/squid"
case "$1" in
start)
netstat -natp | grep squid &> /dev/null
if [ $? -eq 0 ]
then
echo "squid is running"
else
echo "正在啟動(dòng) squid..."
$CMD
fi
;;
stop)
$CMD -k kill &> /dev/null
rm -rf $PID &> /dev/null
;;
status)
[ -f $PID ] &> /dev/null
if [ $? -eq 0 ]
then
netstat -natp | grep squid
else
echo "squid is not running"
fi
;;
restart)
$0 stop &> /dev/null
echo "正在關(guān)閉 squid..."
$0 start &> /dev/null
echo "正在啟動(dòng)squid..."
;;
reload)
$CMD -k reconfigure
;;
check)
$CMD -k parse
;;
*)
echo "用法:$0{start|stop|status|reload|check|restart}"
;;
esac
.
.
6 . 添加權(quán)限,名稱,檢查語(yǔ)法
chmod +x squid #添加執(zhí)行權(quán)限
chkconfig --add squid #添加名稱,便于識(shí)別
service squid check #檢查語(yǔ)法
.
.
二、設(shè)置傳統(tǒng)代理服務(wù)器
.
1 . squid服務(wù)器的配置
vim /etc/squid.conf
.......
http_port 3128
cache_mem 64 MB #指定緩存功能所使用的內(nèi)存空間大小,便于保持訪問(wèn)較頻繁的WEB對(duì)象,容量最好為4的倍數(shù),單位為MB,建議設(shè)為物理內(nèi)存的1/4
reply_body_max_size 10 MB #允許用戶下載的大文件大小,以字節(jié)為單位。默認(rèn)設(shè)置0表示不進(jìn)行限制
maximum_object_size 4096 KB #允許保存到緩存空間的大對(duì)象大小,以KB為單位,超過(guò)大小限制的文件將不被緩存,而是直接轉(zhuǎn)發(fā)給用戶
.
.
2 . 重啟服務(wù),清空防火墻
service squid restart #重啟服務(wù)
iptables -F #清空防火墻
setenforce 0 #關(guān)閉增強(qiáng)功能
iptables -I INPUT -p tcp --dport 3128 -j ACCEPT #在input鏈中,針對(duì)tcp協(xié)議,目標(biāo)端口3128,允許轉(zhuǎn)發(fā)
傳統(tǒng)代理完成
.
.
三、測(cè)試傳統(tǒng)代理
.
1 . 開(kāi)啟測(cè)試端網(wǎng)頁(yè)
systemctl stop firewalld.service
setenforce 0 #關(guān)閉防火墻
yum install httpd -y #安裝http
systemctl start httpd #開(kāi)啟服務(wù)
.
.
2 .win7端網(wǎng)絡(luò)設(shè)置為NAT模式,用瀏覽器訪問(wèn)192.168.201.130
.
.
3 .網(wǎng)頁(yè)端查看訪問(wèn)日志
cd /etc/httpd/logs/
vim access_log #查看訪問(wèn)日志
可以看到來(lái)訪客戶端ip地址
.
.
4 . 此時(shí)設(shè)置代理訪問(wèn)
打開(kāi)瀏覽器-->工具-->intenet選項(xiàng)
.
.
連接-->局域網(wǎng)設(shè)置
.
.
設(shè)置ip地址與端口
.
.
此時(shí)再用瀏覽器訪問(wèn)192.168.201.130,查看來(lái)訪日志
可以看到,訪問(wèn)ip是代理服務(wù)器的ip地址,傳統(tǒng)代理服務(wù)器測(cè)試成功
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。