Linux中级(六)Proxy服务器
一、Apach的正向代理
?? 場景:客戶端無法直接連接Internet,可以通過代理服務器(一個跳板機),代理訪問外部資源,返回客戶端需要的數據!
?
客戶端:明確所要訪問的代理服務器,知道代理服務器的IP地址,還有代理程序的端口,所以稱之為正向!
案例引入
問題:我是一個用戶,我訪問不了國外某網站,但是我能訪問一個香港代理服務器,而這個代理服務器它能訪問那個我不能訪問的網站過程:于是我先連上代理服務器,告訴代理服務器我需要那個無法訪問網站的內容,代理服務器去取回來,然后返回給我。網站的角度:只在代理服務器來取內容的時候有一次記錄,并不知道是用戶的請求,也隱藏了用戶的資料,這取決于代理告不告訴網站。?實驗環境的搭建??
(1)server虛擬機可以連接網絡--->可以連接百度(2)desktop無法上網 --->無法連接百度需求:dsktop通過server來連接Internet測試1:客戶端IP 172.25.2.103,目前ping www.baidu.com,也無法連接網絡
測試2:Proxy提供代理服務,客戶端和服務器端進行相應的配置,實現客戶端連接網絡
? 1)server安裝代理服務軟件
???????? 概念:Squid是一個高性能的代理緩存服務器,Squid支持FTP、HTTPS和HTTP等協議。和一般的代理緩存軟件不同,Squid用一個單獨的、非模塊化的、I/O驅動的進程來處理所有的客戶端請求。
yum install squid.x86_64 -y rpm -qc squid.x86_64 --->/etc/httpd/conf.d/squid.conf(CDN用的到)squid:八爪魚、槍烏賊、魷魚? 2)服務器防火墻得允許通過服務和端口
netstat -antlupe |grep squid -->3128端口firewall-cmd --add-port=3128/tcp vim /etc/squid/squid.conf -->第56行(允許所有的人來訪問我這臺代理服務器)、創建緩存目錄(62行)systemctl restart squid說明:squid服務啟動前后查看緩存目錄!
3)客戶端的設置
說明:(1)和代理服務器是一個WLAN或者通過網關的形式連接代理服務器(2)客戶端不需要設置DNS,因為所有的域名解析等都是Proxy在進行,可以理解為是代理服務器在地址欄中輸入域名等!?????????? 客戶端的Proxy代理設置
????????? 說明:這里以Firefox瀏覽器為案例
Edit-->Preferences-->Advice-->Network-->Settings-->Manual-->代理服務器的IP-->Port說明:最好勾選所有的!
4)測試
說明:ping www.baidu.com仍然無法ping通,因為走的不是代理!
強調:客戶端利用的是Proxy的緩存來訪問!
現象2:同一個網頁第二次的快,緩存的原因!
說明:省略了VPN(利用運營商來模擬網線的連接)!
二、Apach的反向代理
概念:客戶端是無感知代理的存在的,反向代理對外都是透明的,訪問者并不知道自己訪問的是一個代理
特點:因為客戶端不需要任何配置就可以訪問!
反向代理(Reverse Proxy)實際運行方式是指以代理服務器來接受internet上的連接請求,然后將請求轉發給內部網絡上的服務器,并將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為一個服務器。
需求引入:
??? 騰訊服務器大本營在深圳,作為西安的一名騰訊游戲的資深玩家,我如果連接騰訊的服務器,勢必要經過路由(NAT地址轉換耗費時間),并且由于自己是以電話線連接,帶寬太慢,感覺老實卡頓!
?騰訊解決思路:在西安設立幾臺服務器,但是我不知道,因為連接的是深圳的服務器,其實是本地的服務器,但是體驗更好!
模擬
(1)server作為反向代理服務器(騰訊放在西安的服務器) -->shenzhen.qq.com(2)desktop作為資源主機(騰訊在深圳大本營服務器) -->xian.shenzhen.qq.com(3)客戶端(真機-->西安本地的用戶) -->clent.qq.com目標:真機訪問server的資源!案例:買煙(腿長短)測試1:先測試客戶端能不能直接訪問遠程服務器端
客戶端:測試成功!
測試2:
說明:必須重啟服務,systemctl restart squid,在這里犯了錯誤,代理服務器的防火墻開著的!
安裝了Apach服務器的沒有安裝代理服務器,安裝了代理服務器的沒有安裝Apach服務器!
核心:中間服務器必須開啟80端口,加到防火墻上!
http_port 80 vhost vport [使用http主機作為虛擬主機]cache_peer IP(深圳服務器的IP) parent(資源主機) 80(訪問的端口) 0(沒有備用的服務器) proxy-only(只作為代理服務器,不作為Web服務器)說明:如果遠程服務器的防火墻開啟會出現如下的情況,建議關閉防火墻測試或者將http服務加到防火墻上
原理:客戶端去訪問代理服務器的IP,代理服務器會去騰訊總部去取數據,拿到squid緩存中,供客戶端訪問!
三、正向代理和反向代理的區別
相關參考
三、論壇的搭建
總結
以上是生活随笔為你收集整理的Linux中级(六)Proxy服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: fir1截止频率计算_请教一下关于FIR
- 下一篇: step 文件在sw怎么编辑_Solid