16.4 反向代理

网站页面是由静态资源和动态资源一起组成的,其中静态资源包括网站架构CSS文件、大量的图片、视频等数据,这些数据相对于动态资源来说更加稳定,一般不会经常发生改变。但是,随着建站技术的更新换代,外加人们不断提升的审美能力,这些静态资源占据的网站空间越来越多。如果能够把这些静态资源从网站页面中抽离出去,然后在全国各地部署静态资源的缓存节点,这样不仅可以提升用户访问网站的速度,而且网站源服务器也会因为这些缓存节点的存在而降低负载。

反向代理是Squid服务程序的一种重要模式,其原理是把一部分原本向网站源服务器发起的用户请求交给Squid服务器缓存节点来处理。但是这种技术的弊端也很明显,如果有心怀不轨之徒将自己的域名和服务器反向代理到某个知名的网站上面,从理论上来讲,当用户访问到这个域名时,也会看到与那个知名网站一样的内容(有些诈骗网站就是这样骗取用户信任的)。因此,当前许多网站都默认禁止了反向代理功能。开启了CDN(内容分发网络)服务的网站也可以避免这种窃取行为。如果访问开启了防护功能的网站,一般会看到如图16-16所示的报错信息。

16.4 反向代理 - 图1

图16-16 访问网站时提示报错信息

刘遄老师为了实验需要而临时关闭了本书配套站点的CDN服务及防护插件,请大家尽量选择用自己的网站或博客进行该实验操作,避免影响到其他网站的正常运转,给他人造成麻烦。

使用Squid服务程序来配置反向代理服务非常简单。首先找到一个网站源服务器的IP地址,然后编辑Squid服务程序的主配置文件,把端口号3128修改为网站源服务器的地址和端口号,此时正向解析服务会被暂停(它不能与反向代理服务同时使用)。然后按照下面的参数形式写入需要反向代理的网站源服务器的IP地址信息,保存退出后重启Squid服务程序。正常网站使用反向代理服务的效果如图16-17所示。

  1. [root@linuxprobe ~]# vim /etc/squid/squid.conf
  2. ………………省略部分输出信息………………
  3. 57
  4. 58 # Squid normally listens to port 3128
  5. 59 http_port 您的桥接网卡IP地址:80 vhost
  6. 60 cache_peer 网站源服务器IP地址 parent 80 0 originserver
  7. 61
  8. ………………省略部分输出信息………………
  9. [root@linuxprobe ~]# systemctl restart squid

16.4 反向代理 - 图2

图16-17 使用反向代理模式访问网站

出现问题?大胆提问!

因读者们硬件不同或操作错误都可能导致实验配置出错,请耐心再仔细看看操作步骤吧,不要气馁~

Linux技术交流请加A群:560843(),B群:340829(推荐),C群:463590(推荐),点此查看全国群

*本群特色:通过口令验证确保每一个群员都是《Linux就该这么学》的读者,答疑更有针对性,不定期免费领取定制礼品。

本章节的复习作业(答案就在问题的下一行哦,用鼠标选中即可看到的~)

1.简述Squid服务程序提供的正向代理服务的主要作用。

答:实现代理上网、隐藏用户的真实访问信息以及对控制用户访问网站行为的访问控制列表(ACL)进行限制。

2.简述Squid服务程序提供的反向代理服务的主要作用。

答:加快用户访问网站的速度,降低网站源服务器的负载压力。

3.Squid服务程序能够提供的代理模式有哪些?

答:正向代理模式与反向代理模式,其中正向代理模式又分为标准正向代理模式与透明正向代理模式。

4.标准正向代理模式与透明正向代理模式的区别是什么?

答:区别在于用户是否需要配置代理服务器的信息。若使用透明代理模式,则用户感知不到代理服务的存在。

5.使用Squid服务程序提供的标准正向代理模式时,需要在浏览器中配置哪些信息?

答:需要填写Squid服务器的IP地址及端口号信息。

6.若需要通过ACL功能限制用户不能使用代理服务访问指定网站,参数该怎么写?

答:以本书的配套学习站点(www.linuxprobe.com)为例,可使用参数“acl deny_url url_regex https://www.linuxprobe.com”和“http_access deny deny_url”来禁止用户访问这个指定的网站。

7.若让客户端主机使用透明正向代理模式,则需要用DHCP服务器为客户端主机分配什么信息?

答:需要为客户端主机分配IP地址、子网掩码、网关地址以及外部DNS服务

本文原创地址:https://www.linuxprobe.com/chapter-16.html   编辑:刘遄,审核员:暂无

为您推荐一些与本文相关的文章:

转载必需保留本文链接:https://www.linuxprobe.com/chapter-16.html

本文依据CC-BY-NC-SA 3.0协议发布,竭诚为读者提供Linux视频教程、Linux学习资料以及红帽考试资料等优质学习资源。