• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Linux平臺(tái)下Squid PRoxy代理服務(wù)的研究與實(shí)現(xiàn)

      2022-02-15 02:48:36
      信息記錄材料 2022年12期
      關(guān)鍵詞:代理服務(wù)器配置文件瀏覽器

      閆 梅

      (山西機(jī)電職業(yè)技術(shù)學(xué)院信息工程系 山西 長(zhǎng)治 046011)

      0 引言

      web服務(wù)器為了提供更為快捷、高效的服務(wù),提高時(shí)間和帶寬的使用效率,可以在瀏覽器和源服務(wù)器之間設(shè)置代理服務(wù)器,客戶端向位于中間位置的PRoxy代理服務(wù)器發(fā)起數(shù)據(jù)請(qǐng)求,代理服務(wù)器對(duì)接收到的數(shù)據(jù)信息進(jìn)行分析與處理,將客戶端請(qǐng)求的數(shù)據(jù)返回給瀏覽器[1]。可以將其理解為網(wǎng)絡(luò)信息的中轉(zhuǎn)站,尤其在大型高負(fù)載web站點(diǎn)的訪問中發(fā)揮著至關(guān)重要的作用,代理服務(wù)作為性能優(yōu)化的重要手段,客戶端在刷新瀏覽器時(shí),不用重新請(qǐng)求,而是從PRoxy服務(wù)中讀取,極大減輕原始服務(wù)器的負(fù)載。其主要作用有:①資源獲取:幫助客戶端向目的地獲取所需的資源;②提高訪問速度:代理服務(wù)器保存從原始服務(wù)器所獲取的資源,從而實(shí)現(xiàn)客戶端快速的獲取,達(dá)成節(jié)省帶寬以及加快內(nèi)部網(wǎng)絡(luò)對(duì)因特網(wǎng)WWW訪問速度的目的;③提高內(nèi)部網(wǎng)絡(luò)的安全性:代理服務(wù)器代替客戶端去獲取原始服務(wù)器資源,隱藏了客戶端真實(shí)信息,同時(shí)PRoxy代理服務(wù)一般架設(shè)在內(nèi)部網(wǎng)絡(luò)的網(wǎng)關(guān)之上,承擔(dān)部分防火墻的功能,對(duì)內(nèi)部網(wǎng)絡(luò)的安全起到防護(hù)作用。目前代理服務(wù)器有很多,本文將在Linux平臺(tái)下對(duì)Squid PRoxy代理服務(wù)的實(shí)現(xiàn)進(jìn)行研究。

      1 代理服務(wù)器的工作原理

      代理服務(wù)器通常應(yīng)用于以下場(chǎng)景:客戶端數(shù)量巨大,且大部分需要www網(wǎng)絡(luò)服務(wù)和瀏覽靜態(tài)網(wǎng)站[2];PRoxy服務(wù)器被賦予了防火墻的功能;客戶端需要訪問傳輸速度很慢的網(wǎng)站,比如一些國(guó)外的網(wǎng)站等。

      代理服務(wù)器作為一種既是服務(wù)端又是客戶端的中間程序,主要用于轉(zhuǎn)發(fā)客戶端系統(tǒng)的網(wǎng)絡(luò)訪問請(qǐng)求,具體工作流程如下,如圖1所示。

      圖1 代理服務(wù)器的工作原理

      1.1 PRoxy服務(wù)器中有用戶請(qǐng)求的信息

      ①客戶端向代理服務(wù)器端發(fā)送一個(gè)請(qǐng)求的數(shù)據(jù)包;

      ②PRoxy服務(wù)器接收之后,首先查找數(shù)據(jù)緩存中是否包含客戶端請(qǐng)求的數(shù)據(jù)信息;

      ③如果數(shù)據(jù)緩存中存儲(chǔ)有客戶端請(qǐng)求的數(shù)據(jù)信息,PRoxy服務(wù)器將取出相關(guān)的數(shù)據(jù)信息;

      ④PRoxy服務(wù)器將取出的數(shù)據(jù)回傳給客戶端。

      1.2 PRoxy服務(wù)器中沒有用戶請(qǐng)求的信息

      a.客戶端向代理服務(wù)器端發(fā)送一個(gè)請(qǐng)求的數(shù)據(jù)包;

      b.代理服務(wù)器端接收之后,首先查找自己的數(shù)據(jù)緩存中是否包含客戶端請(qǐng)求的數(shù)據(jù)信息,通過檢查發(fā)現(xiàn)數(shù)據(jù)緩存中沒有用戶請(qǐng)求的數(shù)據(jù)信息;

      c.數(shù)據(jù)緩存反饋信息給PRoxy服務(wù)器;

      d.代理服務(wù)器接收到反饋信息后,繼而向遠(yuǎn)端的原始服務(wù)器發(fā)出數(shù)據(jù)請(qǐng)求信息;

      e.遠(yuǎn)端服務(wù)器收到請(qǐng)求數(shù)據(jù)后,將請(qǐng)求的數(shù)據(jù)信息返回給PRoxy服務(wù)器;

      f.PRoxy服務(wù)器將收到的信息回傳給客戶端,同時(shí)在數(shù)據(jù)緩存中進(jìn)行備份。

      2 Squid代理服務(wù)器的實(shí)現(xiàn)

      Squid軟件是Linux平臺(tái)下常用的代理服務(wù)器軟件,可以代理HTTP、FTP、GOPHER、SSL和WAIS協(xié)議,因其快速響應(yīng)、減少網(wǎng)絡(luò)阻塞、增強(qiáng)訪問控制、提高安全性的優(yōu)點(diǎn),同時(shí)可以針對(duì)特定的網(wǎng)站、用戶、網(wǎng)絡(luò)數(shù)據(jù)類型實(shí)施訪問控制,因此在UNIX及Linux操作系統(tǒng)下有廣泛的應(yīng)用。

      2.1 Squid服務(wù)器端的安裝

      2.1.1 檢查Squid軟件是否安裝

      Squid具有下載安裝簡(jiǎn)單、配置靈活的特點(diǎn)[3]。以管理員身份登錄Linux操作系統(tǒng),在終端通過rpmqa|grep squid命令來檢查Squid軟件是否已經(jīng)安裝,顯示package squid is not installed則表示沒有安裝,否則會(huì)顯示具體的安裝包信息。

      2.1.2 如果未安裝,則使用yum方式安裝

      通過命令yum install squid -y來安裝Squid軟件,如果不使用參數(shù)-y,安裝過程中找到安裝包之后,會(huì)詢問Is this OK[y/d/N],需要手動(dòng)進(jìn)行選擇;使用-y參數(shù)可以保證在安裝過程提示自動(dòng)選擇全部為y,不再需要手動(dòng)選擇,安裝完成后提示compelte,表示軟件安裝完成。

      安裝完成后執(zhí)行rpm -qa|grep squid命令來查看Squid軟件是否安裝成功,結(jié)果顯示squid的版本為squid3.5.20-17.e17_9.7.x86_64,如圖2所示。

      圖2 安裝好的Squid版本

      2.1.3 啟動(dòng)并開啟squid服務(wù)

      驗(yàn)證squid成功安裝后,使用#systemctl start squid命令啟動(dòng)Squid,并使用#systemctl enable squid命令設(shè)置squid服務(wù)為自啟動(dòng)[4]。

      #systemctl start squid

      #systemctl enable squid

      2.1.4 查看squid服務(wù)運(yùn)行狀態(tài)

      squid服務(wù)開啟后,為驗(yàn)證服務(wù)是否處于開啟的狀態(tài),可通過systemctl status squid來查看squid服務(wù)是否處于active(running)運(yùn)行狀態(tài),如圖3所示。

      圖3 squid運(yùn)行狀態(tài)

      2.2 Squid服務(wù)器端的配置

      2.2.1 不帶用戶認(rèn)證的squid代理服務(wù)端的配置

      默認(rèn)情況下squid本身不帶任何認(rèn)證程序,客戶端可以直接通過代理服務(wù)器訪問網(wǎng)絡(luò)資源,位于/etc/squid/目錄下的squid.conf是squid服務(wù)中最核心的配置文件。

      ①查看squid.conf配置文件:以管理員身份登錄linux服務(wù)器后,通過cd /etc/squid命令切換至squid.conf配置文件存儲(chǔ)的目錄下,使用ls命令查看該目錄下存在的文件及目錄信息,顯示存在squid.conf 文件,如圖4所示。

      圖4 查看squid.conf文件

      ②編輯配置文件,設(shè)置監(jiān)聽端口和允許所有ip訪問:使用vi編輯器打開squid.conf配置文件,并通過i鍵切換至編輯模式。通過“#”號(hào)注釋http_access deny all此行代碼,并添加http_access allow all代碼允許所有ip訪問,同時(shí)設(shè)置端口為3712。

      http_port 3712 #設(shè)置監(jiān)聽的端口,默認(rèn)為3128

      #http_access deny all #注釋此行代碼

      http_access allow all #添加,為允許所有ip

      ③添加代碼塊:在配置文件后面添加以下的代碼內(nèi)容,添加代碼后通過wq!保存并退出編輯模式,如圖8所示。

      #配置squid進(jìn)程使用的內(nèi)存大小為64 MB

      cache_mem 64 MB

      #最大緩存的靜態(tài)資源對(duì)象,超過這個(gè)大小將不會(huì)緩存數(shù)據(jù)

      maximum_object_size 6 MB cache_dir ufs /var/spool/squid 100 16 256

      #日志文件存放的路徑

      access_log /var/log/squid/access.log

      #允許所有訪問

      http_access allow all

      #隨意填寫一個(gè)名字

      visible_hostname squid.chao

      ④重新啟動(dòng)squid服務(wù),并檢查配置文件是否有誤:對(duì)squid.conf配置文件編輯后,需要使用systemctl resatrt squid命令重新啟動(dòng)squid服務(wù)。同時(shí),為了檢驗(yàn)squid.conf配置文件是否有錯(cuò)誤,通過squid -k parse命令進(jìn)行檢測(cè),若沒有出現(xiàn)ERROR就沒有問題,如圖5所示。

      圖5 檢查配置文件

      ⑤查看squid監(jiān)聽的端口:配置文件檢測(cè)無誤后,通過netstat -ntlp命令查看squid監(jiān)聽的端口,輸入該命令提示command not found,發(fā)現(xiàn)Linux系統(tǒng)中缺少netstat對(duì)應(yīng)的包,這時(shí)需要通過yum install net-tools命令安裝net-tools工具,提示complete,表示工具安裝完成,如圖6所示。

      圖6 net-tools工具安裝

      安裝完成后,netstat即可正常使用,再次使用netstat -ntlp命令可查看到squid監(jiān)聽的端口3712,如圖7所示。

      圖7 系統(tǒng)監(jiān)聽的端口

      ⑥關(guān)閉CentOS的防火墻:為了監(jiān)聽端口能夠正常訪問,可以通過#systemctl stop firewall.service和#systemctl disable firewall.service命令關(guān)閉防火墻,放行squid監(jiān)聽端口。

      #systemctl stop firewall.service

      #systemctl disable firewall.service

      帶用戶認(rèn)證的squid代理服務(wù)端的配置

      為了增加訪問的安全性,可以對(duì)其用戶身份信息進(jìn)行驗(yàn)證,本文采用Squid自帶的認(rèn)證程序ncsa來實(shí)現(xiàn)用戶認(rèn)證[5]。

      由于用戶認(rèn)證需要訪問密碼的生成,需要使用到命令行工具h(yuǎn)tpassword,此工具可以生成訪問密碼,此命令是httpd-tools包的一部分。

      ⑦h(yuǎn)ttpd-tools工具的安裝:Centos可以直接使用yum install httpd-tools -y命令進(jìn)行安裝,當(dāng)提示“完畢”后,表示httpd-tools工具安裝完成,如圖8所示。

      圖8 httpd-tools工具安裝完成

      ⑧添加認(rèn)證用戶并生成密碼文件:htpasswd生成的密碼和關(guān)聯(lián)的用戶名將存儲(chǔ)在指定的文件中,密碼將被加密,本文的賬號(hào)信息保存在/etc/squid/passwd文件下[6],這里的yan是用戶名,執(zhí)行命令后會(huì)提示設(shè)置yan用戶的密碼,輸入成功后,會(huì)提示已經(jīng)為yan這個(gè)用戶添加了密碼。

      圖9 用戶設(shè)置密碼

      ⑨驗(yàn)證用戶密碼:為了驗(yàn)證密碼文件是否生效,使用命令/usr/lib64/squid/basic-ncsa_auth /etc/squid/passwd來進(jìn)行驗(yàn)證,輸入用戶名和密碼,若提示OK表示成功,如圖10所示。

      圖10 驗(yàn)證用戶密碼

      ⑩配置squid.conf:在打開squid.conf配置文件中添加如下代碼塊:

      #選擇認(rèn)證方式為basic,定義認(rèn)squid密碼文件與ncsa_auth文件位置

      auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd

      #認(rèn)證程序進(jìn)程數(shù)數(shù)量

      auth_param basic children 5

      #在使用PRoxy彈出來的提示框中的描述信息

      auth_param basic realm Squid Bacsic Authentication

      #認(rèn)證的有效時(shí)間

      auth_param basic credentialsttl 2 hours

      #允許認(rèn)證的用戶訪問

      acl cangluan proxy_auth REQUIRED

      #允許認(rèn)證的成員用戶訪問

      http_access allow auth_users

      ?重新啟動(dòng)squid服務(wù):squid配置文件內(nèi)添加允許授權(quán)用戶訪問后,再次需要使用systemctl restart squid命令,重新啟動(dòng)squid服務(wù)使其生效。

      2.3 客戶端的配置

      在完成服務(wù)端的配置后,可通過客戶端的瀏覽器進(jìn)行驗(yàn)證,在對(duì)squid服務(wù)器端配置時(shí)發(fā)現(xiàn)系統(tǒng)就只有命令行界面,但是沒有圖形化界面,無法打開瀏覽器。

      2.3.1 安裝圖形界面

      為了使用圖形界面下的瀏覽器進(jìn)行測(cè)試,需要安裝系統(tǒng)的GNOME圖形界面,在命令行界面下使用yum grouplist命令列出本系統(tǒng)支持的圖形化界面有哪些,如圖11所示。

      圖11 本系統(tǒng)支持的圖形化界面

      研究人員選擇默認(rèn)的圖形化界面(GNOME Desktop),使用命令#yum groupinstall“GNOME Desktop” “Graphical Administration Tools”獲取并安裝CentOS默認(rèn)的圖形界面GNOME程序包,提示complete表示圖形界面安裝成功。

      2.3.2 修改CentOS7默認(rèn)啟動(dòng)模式為圖形化模式

      使用systemctl get-default命令提示multi-user.target,說明當(dāng)前默認(rèn)啟動(dòng)模式為命令行模式,使用systemctl set-default graphical.target修改默認(rèn)啟動(dòng)為GNOME界面模式[7]。

      #systemctl get-default

      #systemctl set-default graphical.target

      systemctl get-default

      #reboot

      使用命令reboot重啟CentOS系統(tǒng),重啟之后就已經(jīng)切換到GUI圖形界面模式,通過對(duì)圖形化界面的設(shè)置,即可實(shí)現(xiàn)從命令行到圖形化界面的所有操作[8]。

      2.3.3 不帶用戶認(rèn)證的客戶端配置

      在圖形界面下打開火狐瀏覽器,通過“設(shè)置”找到“網(wǎng)絡(luò)設(shè)置”,單擊“設(shè)置”,在打開的網(wǎng)絡(luò)設(shè)置中,勾選“手動(dòng)配置代理”,設(shè)置HTTP代理為“127.0.0.1”端口為“3712”,同時(shí)勾選“也將次代理用于HTTPS”,完成代理的配置。嘗試用瀏覽器中訪問www.sxjdxy.org,頁(yè)面回顯查看的頁(yè)面信息,如圖12所示。

      圖12 代理服務(wù)器的設(shè)置

      在squid中位于/var/log/squid/access.log的日志文件會(huì)將HTTP響應(yīng)的關(guān)鍵信息記錄并存放其中,在GNOME桌面上打開終端,切換目錄至/var/log/squid,使用cat access.log查看日志文件[9],查看日志文件,可查看到瀏覽器訪問www.sxjdxy.org的記錄信息被保存到日志文件中,如圖13所示。

      圖13 查看日志文件

      2.3.4 帶用戶認(rèn)證的客戶端配置

      在對(duì)瀏覽器進(jìn)行PRoxy設(shè)置后,當(dāng)使用瀏覽器訪問頁(yè)面的時(shí)候,會(huì)先彈出一個(gè)提示輸入用戶名和密碼的提示框[10],輸入用戶名和密碼即可訪問到www.sxjdxy.org頁(yè)面信息,如圖14所示。

      圖14 帶用戶認(rèn)證訪問

      3 結(jié)語(yǔ)

      通過在Linux平臺(tái)下從Squid的安裝、Squid服務(wù)器端的配置及客戶端的配置對(duì)Squid PRoxy代理服務(wù)的實(shí)現(xiàn)進(jìn)行了研究,客戶端從用戶認(rèn)證和非用戶認(rèn)證對(duì)代理服務(wù)器的訪問進(jìn)行了驗(yàn)證,借助于Squid代理服務(wù)器,客戶端獲得了自己所需要的信息,又沒有泄露自己的信息,提高了訪問效率和安全防護(hù)。

      猜你喜歡
      代理服務(wù)器配置文件瀏覽器
      提示用戶配置文件錯(cuò)誤 這樣解決
      搭建簡(jiǎn)單的Kubernetes集群
      互不干涉混用Chromium Edge
      反瀏覽器指紋追蹤
      電子制作(2019年10期)2019-06-17 11:45:14
      地鐵信號(hào)系統(tǒng)中代理服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)
      忘記ESXi主機(jī)root密碼怎么辦
      IP地址隱藏器
      環(huán)球?yàn)g覽器
      再見,那些年我們嘲笑過的IE瀏覽器
      一種容侵系統(tǒng)的設(shè)計(jì)
      SHOW| 延吉市| 天峨县| 胶州市| 张掖市| 滦平县| 错那县| 招远市| 灵寿县| 黄山市| 苏尼特右旗| 专栏| 宜城市| 高阳县| 石门县| 汪清县| 韶关市| 元谋县| 乌恰县| 锦屏县| 民丰县| 探索| 自治县| 廉江市| 健康| 桑植县| 荔波县| 固原市| 香河县| 怀远县| 吉水县| 九江市| 东山县| 缙云县| 上犹县| 龙井市| 沙洋县| 紫阳县| 阳朔县| 郎溪县| 凉山|