代理服务器(Proxy)
目錄
1.什么是代理服務器
2.代理服務器的作用
3.代理服務器的工作流程
4.安裝代理服務器軟件及配置文件解析(squid)
5.正向代理
6.修改數據存放位置
7.設置磁盤使用閾值
"代理"兩字顧名思義就是以代理人的身份去幫助其他人取得所需要的東西!!!
而它在網絡中如同我們現實生活中一樣,當用戶要求訪問網絡資源的時候,而直接又不能上網,于是用戶會主動找到到Proxy,Proxy就會前往用戶所需要的目的地獲取到相應的信息并返回給客戶端。
2.代理服務器的作用
(1)緩存功能,提高用戶訪問速度
(2)對內部網絡客戶端進行權限限制
(3)比防火墻有更高的過濾功能
主要透過 Proxy 的服務程序 (daemon) 提供網絡代理的任務,因此 Proxy 能不能進行某些工作,與該服務的程序功能有關。 舉例來說,如果你的 Proxy 并沒有提供郵件或 FTP 代理,那么你的客戶端就是無法透過Proxy 去取得這些網絡資源。 主要運作的行為在 OSI 七層協議的應用層部分 (所謂的比較"高階"之意)。
3.代理服務器的工作流程
1.Cilent端向Proxy服務器端發送一個數據請求包
2.Proxy服務器會對比這個數據包的“來源”和數據包的目的地是否“合法”,如果合法那么Proxy服務器端會幫忙取得數據(對比政策),如果不合法(被定義規則拒絕)將會拒絕為Cilent提供請求。
3.Proxy服務器會檢查自己的緩存數據(新的數據在內存里,舊的數據則放置在硬盤上),如果有Cilent所需的資源,直接將數據取出,而不會向Internet獲取數據。
4.Proxy端向Internet上取得相關信息
5.返回給Cilent段
優點:
節省網絡帶寬,降低網絡負載
已較短的路徑取得網絡數據
通過上層代理服務器,達到數據分流的效果
缺點:
容易被人利用進行非法操作
可能會取得舊的錯誤數據
?
4.安裝代理服務器軟件及配置文件解析(squid)
/etc/squid/squid.conf??????????????????????? //主配置文件
/etc/squid/mime.conf??????????????????????? //設定 squid 所支持的 Internet 上面的文件格式
/usr/sbin/squid????????????????????????????????? //squid主程序
/var/spool/squid??????????????????????????????? //squid緩存放置的目錄
yum -y install squid?????????????????????????? //安裝squid程序
默認端口:3128
????????????????????????????????????????????????????????????????主配置文件解析
????????????????????????先定義acl(訪問控制列表),在加載訪問控制列表
ACL規則定義格式: acl + 規則名 + 類型 + 目標
規則名:自定義
類型:src //源地址
dst //目的地址
srcdomain //源域
dstdomain //目的域
url_regex URL //正則表達式(字符串部分)
urlpath_regex URL //正則表達式中的路徑
time [星期] [時間段]
S (Sunday,星期日) M(Monday,星期一) T(Tuesday,星期二) W(Wednesday,星期三)
H(Thursday,星期四) F(Friday,星期五) A(Saturday,星期六)
時間段的表示方式是: XX:00-YY:00 如: 20:00-22:00
maxconn 客戶端的最大連接數
匹配規則格式:http_access + 動作 + 規則名
動作:
deny //拒絕
allow //允許
定義格式不分前后,匹配規則分前后順序,如果要定義一個具體的IP地址那么后面要加上/32
acl xx acl 0.0.0.0/0
http_accless allow xx //允許所有ip訪問
http_port 3128 //默認監聽端口
cache_mem 64M //內存緩存區大小
cache_dir ufs /var/spool/squid 200 16 256 //硬盤緩存大小
cache_effective_user squid //設置緩存的有效用戶
cache_effective_group squid //設置緩存的有效用戶組
cache_access_log /var/log/squid/access.log //訪問日志文件的保存路徑
cache_log /var/log/squid/cache.log //緩存日志文件的保存路徑
visible_hostname linuxprobe.com //設置Squid服務器的名稱
cache deny test //默認都是做緩存的,而這條命名就是不做緩存
cache_men 10 MB //從硬盤中劃10MB出來存放“熱門數據”
這是“linux就該這么學”這本書的原話,大家可以去借鑒
5.正向代理
正向代理,意思是一個位于客戶端和原始服務器(origin server)之間的服務器,為了從原始服務器取得內容,客戶端向代理發送一個請求并指定目標(原始服務器),然后代理向原始服務器轉交請求并將獲得的內容返回給客戶
通過squid服務讓客戶端上網(默認已安裝squid服務)
服務端
vim /etc/squid/squid.conf
iptables -I INPUT 1 -p tcp --dport 8080 -j ACCEPT
客戶端
我這里使用的Firefox瀏覽器
然后測試一下能不能上網
6.修改數據存放位置
cache_dir ufs /xx 100 16 216
mkdir /xx
改了之后還不能馬上運行,因為selinux的安全上下文不同會被selinux給阻止運行,還用把所有組和所有者改為squid的。
7.設置磁盤使用閾值
cache_swap_high 95
cache_swap_low 90
這條命令代表當磁盤使用到95%是,會將舊的緩存數據刪除到剩下磁盤的90%
總結
以上是生活随笔為你收集整理的代理服务器(Proxy)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: h3c交换机重启_终于解决H3C交换机r
- 下一篇: 用分支限界法解决人员安排问题(Perso