httpd正向代理与反向代理技术

来源:互联网 发布:算法模型电商 编辑:程序博客网 时间:2024/05/18 23:25

正向代理

正向代理,也就是传说中的代理,他的工作原理就像一个跳板。简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。从网站的角度,只在代理服务器来取内容的时候有一次记录。结论就是,正向代理,是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。
如果我们要设置正向代理服务,我们需要安装squid,然后开启服务

yum install squid -ysystemctl start squid

然后进入http的主配置文件中进行修改
这里写图片描述
将56行修改为’allow all’,62行去掉注释
然后保存,重启服务

systemctl restart squid.service

然后进入浏览器在advanced中进入network
这里写图片描述
手动设置代理服务器的proxy(代理)为代理的服务器ip,然后端口为3128(squid的默认端口)
然后在系统中关闭wifi
这里写图片描述
仍然可以上网
这里写图片描述

设置站点的屏蔽
我们仍然需要进入配置文件中进行修改

vim /etc/squid/squid.conf

假设要屏蔽百度,修改如下(切记要补充这句在原本文件的前面)
这里写图片描述
如果需要屏蔽百度这个站点的所有网页,可以进行以下修改
这里写图片描述
然后重启服务

systemctl restart squid

反向代理


用户访问 http://ooxx/readme但ooxx上并不存在readme页面他是偷偷从另外一台服务器上取回来,然后作为自己的内容吐给用户
但用户并不知情这很正常,用户一般都很笨
这里所提到的 ooxx这个域名对应的服务器就设置了反向代理功能
结论就是 反向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理 的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容 原本就是它自己的一样。
反向代理一般是用于cdn加速,所以需要设置好cache的peer节点
首先确认开启服务,没有则用start开启
这里写图片描述
随后进入主配置文件进行修改
如下
这里写图片描述
如果我们需要设置轮叫来降低服务器端的压力我们可以这样修改
这里写图片描述
重启服务后,刷新网页每次刷新后都会交替代理到两个不同的服务器上