【linux】squid代理服務器

1.Squid代理服務器

Squid代理服務器(Squid proxy server)一般和原始文件一起安裝在單獨服務器而不是網絡服務器上。Squid通過追蹤網絡中的對象運用起作用。Squid最初擔當中介,僅僅是把客戶要求傳遞到服務器並存儲要求對象的拷貝。如果同一個客戶或同一批客戶在要求還在Squid緩存(cache)時要求相同的對象,Squid就可以立刻服務,加速下載並保存帶寬。

2.正向代理

2.1瞭解正向代理

現象: 客戶端無法直接連接Internet,可以通過代理服務器(一個跳板機),代理訪問外部資源,返回客戶端需要的數據!
在這裏插入圖片描述
客戶端已經明確知道要訪問的代理服務器,知道其ip地址,端口主動去鏈接。

2.2正向代理服務器

我是一個擁有合法ip的服務器,我不能訪問國外的某網站,但是我可以訪問某國內的代理服務器,這個服務器可以訪問此網站:

我在鏈接時告訴代理我要看什麼網站,他幫我查看且緩存,我再查看他的緩存。

只在代理服務器來取內容的時候有一次記錄,並不知道是用戶的請求,也隱藏了用戶的資料,這取決於代理告不告訴網站。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
而訪問機無法鏈接百度
在這裏插入圖片描述
這時我們就可以開始正向代理操作

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在訪問端我們做如下操作:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

3.反向代理服務器

3.1什麼是反向代理

在正向代理中我們是客戶端主動填寫代理ip及端口,而反向代理中是客戶不需要做任何操作,即可上網。

反向代理,是指以代理服務器來接受internet上的連接請求,然後將請求轉發給內部網絡上的服務器,並將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現爲一個反向代理服務器;
反向代理服務器承擔了對原始WEB服務器的靜態頁面的請求,防止原始服務器過載。它位於WEB服務器和Internet之間,處理所有對WEB服務器的請求,組織了WEB服務器和Internet的直接通信。如果互聯網用戶請求的頁面在代理服務器上有緩衝的話,代理服務器直接將緩衝內容發送給用戶。如果沒有緩衝則先向WEB服務器發出請求,取回數據,本地緩存後再發給用戶。這種方式通過降低了WEB服務器的請求數從而降低了WEB服務器的負載

反向代理有什麼用爲什麼要這麼做:

作用:用戶請求過多,服務器會有一個處理的極限。所以使用反向代理服務器接受請求,再用均衡負載將請求分佈給多個真實的服務器。既能提高效率還有一定的安全性
用途:如果不採用代理,用戶的IP、端口號直接暴露在Internet(儘管地址轉換NAT),外部主機依然可以根據IP、端口號來開採主機安全漏洞,所以在企業網,一般都是採用代理服務器訪問互聯網。
舉例:
深圳這個服務器是原始web服務器,此時西安也有一個服務器,現在西安有一臺主機上面的網頁想要去向深圳發送一個請求,但是直接去訪問深圳的服務器會造成深圳服務器的繁忙,還有發送請求響應的速度緩慢(因爲要做的地址轉換比較多),此時西安這個服務器可以代替這個這個網頁去發送請求,因爲兩個服務器之間的速度比較快,並將請求的結果緩存下來,如果下一次有人問,西安就不用去發送請求,可以將緩存結果直接交付給它,這樣就緩解了深圳服務器的工作壓力

在這裏插入圖片描述
具體客戶端操作如下:

yum install httpd -y
systemctl start httpd
cd /var/www/html
vim index.html     裏面隨便寫點什麼
systemctl  stop firewalld

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述
在服務端我們也要做一些 實驗:

vim /etc/squid/squid.conf
第五十九行:http_port 80 vhost vport
第六十行:cache_peer  172.25.254.106   parent 80 0 proxy-only
systemctl restart squid

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

4.web調度器的搭建

調度器:(調節負載均衡)
在企業中當站點的服務器負載過大時,我們可以使用輪循調度來降低負載——雖然訪問的IP不同,但是訪問內容是一致的

配置兩個apache,在默認發佈文件隨便寫點什麼,爲了實驗效果,同一個域名對應的默認發佈內容最好寫的不一樣,在企業中默認發佈內容其實是一樣的。
一個apache我們在上個實驗都做好了,此時來搭建另一個apache(用真機)
第一步:配置好yum源
在這裏插入圖片描述
第二步安裝httpd軟件包
在這裏插入圖片描述
在這裏插入圖片描述
第三步:開啓服務,並編輯默認發佈文件
在這裏插入圖片描述
第四步:關閉防火牆
在這裏插入圖片描述

搭建web調度器(也可以用上個實驗的服務端server):

配置一個調度器:(主機ip是172.25.254.206)
yum install squid -y
systemctl start squid
vim /etc/squid/squid.conf 編輯配置文件
在裏面修改56-65

56 http_access allow all
 57 
 58 # Squid normally listens to port 3128
 59 http_port 80   vhost vport
 60 cache_peer 172.25.254.106  parent  80  0  proxy-only   no-query  round-robin  originserver   name=web1
 61 cache_peer 172.25.254.15  parent  80  0  proxy-only   no-query  round-robin  originserver    name=web2  weight=3
 62 cache_peer_domain web1  web2  www.westos.com
 63 
 64 # Uncomment and adjust the following to add a disk cache directory.
 65 cache_dir ufs /var/spool/squiid 100 16 256

因爲我們這裏已經安裝過squid並且開啓過服務,所以不用安裝跟開啓服務

編輯配置文件
在這裏插入圖片描述
在這裏插入圖片描述
cache_peer 172.25.254.106 parent 80 0 proxy-only round-robin
originserver name=web1
80指連接瀏覽器的端口,0指當服務器掛掉後沒有備用的(通過進入目錄/usr/share/doc/squid-3.3.8/squid.conf.documented(可以查看到本機沒有備用服務器)
proxy-only指只能代理
name=web1是給呈現出ip爲172.25.25.106中的內容(共享目錄下/var/www/html/index.html的內容)起的別名
round-robin用的是輪循方式
originserver說明爲哪一個域名服務(本機爲www.westos.com),只有設置這個參數纔會去識別round-robin(輪循)

1systemctl restart squid         重啓服務
2systemctl stop firewalld      關閉火牆

在這裏插入圖片描述

測試:
在真機裏測試:

1 vim /etc/hosts
2 172.25.254.206   www.westos.com

在這裏插入圖片描述
在這裏插入圖片描述
然後在瀏覽器輸入www.westos.com測試,發現出來的內容不一樣,刷新頻率,兩個頁面出現的頻率爲:“我好喜歡你”頁面出現一次,“聲之形”頁面出現兩次
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
注意

1.兩個http服務端的防火牆要關閉
2.調度器不要安裝httpd,可能會佔用端口
3.輪循調度都是爲一個站點所服務的
4.在調度器不要設置dns(本機不做解析),否則會佔用端口

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章