Squid安装与配置
squid代理服務器
squid是一種用來緩存Internet數據的軟件。接受來自客戶機需要下載的目標的請求并適當的處理這些請求。也就是說,如果一個客戶端想要打開默認網站,它請求squid為它取得這個頁面。squid隨之連接到遠程服務器并向這個頁面發出請求。然后,squid顯式地聚集數據到客戶端機器,而且同時復制一份。當下一次有人需要同一頁面時,squid可以簡單的從磁盤中讀到它,那樣數據會立即傳輸到客戶機上。
squid概述
Squid(Squid cache,簡稱Squid)是Linux系統中最常用的一款開源代理服務軟件,可以很好地實現HTTP和FTP,以及DNS查詢、SSL等應用的緩存代理,功能十分強大,本篇博客詳細介紹了傳統代理、透明代理,squid日志分析的配置。
squid的官方網站
Squid 分類
按照代理類型的不同,可以將Squid 代理分為正向代理和反向代理,正向代理中,根據實現方式的不同,又可以分為普通代理和透明代理。
- 普通代理:需要客戶機在瀏覽器中指定代理服務器的地址、端口;
- 透明代理:適用于企業的網關主機(共享接入Internet)中,客戶機不需要指定代理服務器地址、端口等信息,代理服務器需要設置防火墻策略將客戶機的Web訪問數據轉交給代理服務程序處理;
- 反向代理:是指以代理服務器來接受internet上的連接請求,然后將請求轉發給內部網絡上的服務器,并將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為一個服務器。
squid代理的作用
-
通過緩存方式為用戶提供Web加速訪問
-
對用戶的Web訪問請求進行過濾控制
緩存代理概述
Web代理的工作機制
代理的基本類型
- 傳統代理:適用于lnternet,需要明確指定服務器
- 透明代理:客戶機不需要指定代理服務的地址和端口,而是通過默認路由、防火墻策略將Web訪問重定向給代理服務器處理
代理服務器的工作流程
-
當代理服務器中有客戶端需要的數據時:
a. 客戶端向代理服務器發送數據請求;
b. 代理服務器檢查自己的數據緩存;
c. 代理服務器在緩存中找到了用戶想要的數據,取出數據;
d. 代理服務器將從緩存中取得的數據返回給客戶端。
-
當代理服務器中沒有客戶端需要的數據時:
1.客戶端向代理服務器發送數據請求;
2.代理服務器檢查自己的數據緩存;
3.代理服務器在緩存中沒有找到用戶想要的數據;
4.代理服務器向Internet 上的遠端服務器發送數據請求;
5.遠端服務器響應,返回相應的數據;
6.代理服務器取得遠端服務器的數據,返回給客戶端,并保留一份到自己的數據緩存中。
使用代理的好處
- 提高Web訪問速度
- 隱藏客戶機的真實IP地址
傳統代理
環境準備
| squid | 192.168.2.10 |
| web | 192.168.2.11 |
| 客戶機 | 192.168.2.12 |
配置web端和客戶端
[root@web ~]# yum -y install httpd [root@web ~]# systemctl start httpd [root@web ~]# netstat -nutlp | grep 80 tcp6 0 0 :::80 :::* LISTEN 1363/httpd [root@web ~]# cat /var/log/httpd/access_log # 此時查看日志是沒有任何的消息的配置客戶端
配置手動代理,設置該ip為squid服務端ip
訪問web服務器
在命令行查看日志文件 [root@web ~]# cat /var/log/httpd/access_log # 客戶端訪問web服務器,成功變為代理服務器ip 192.168.2.10 - - [04/Nov/2020:14:41:53 +0800] "GET / HTTP/1.1" 403 4897 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36" 192.168.2.10 - - [04/Nov/2020:14:41:53 +0800] "GET /noindex/css/bootstrap.min.css HTTP/1.1" 200 19341 "http://192.168.2.11/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36" 192.168.2.10 - - [04/Nov/2020:14:41:53 +0800] "GET /noindex/css/open-sans.css HTTP/1.1" 200 5081 "http://192.168.2.11/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36"傳統代理和透明代理的區別
傳統代理需要客戶端在瀏覽器上指定代理服務器的ip比較麻煩。 透明代理不需要在瀏覽器指定,需要將網關設為代理服務器。總結
以上是生活随笔為你收集整理的Squid安装与配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DNS服务器分离解析 RAID阵
- 下一篇: 使用docker搭建Hadoop