Linux学习笔记-RH135之Apache的加密访问与squid正反向代理

1、Apache的加密访问

当我们使用Apache共享文件时使用的是http://但是我们打开百度时是https://,后者是加密的访问,由于在网页上经常需要用户登陆和认证,如果不加密的话,可能在信道传输过程中被窃取,这样密码就没有意义了,所以需要使用加密的访问https://
首先要安装加密插件mod_ssl,火墙允许https,重启服务。
在这里插入图片描述

安装了插件,出现子配置文件/etc/httpd/conf.d/ssl.conf,默认端口为443,产生默认的密钥对,路径如下图
在这里插入图片描述
现在使用https://172.25.254.52网址,可以使用加密的访问,网址前面有个锁就代表时加密的
在这里插入图片描述

点击锁,查看详细信息,提示不安全,这是因为我们没有认证中心进行身份认证,无法确定是可信的网站,这个问题现在没法解决,真实中的公司需要去官方认证才行。我们注意到各种信息都不齐全,所以不能用默认给的锁,我们要自己建立密钥对和证书。
在这里插入图片描述
使用下面的命令产生了新的密钥对和证书,这一长句命令意思是请求产生新密钥,加密方式是sha256,输出放在 /etc/httpd/westos.org.key;产生证书,有效期为365天,输出放在 /etc/httpd/westos.org.crt。随后要输入一系列相关信息,包括国家,省,城市,公司名,部门名,域名,邮箱。
在这里插入图片描述
接着修改子配置文件/etc/httpd/conf.d/ssl.conf,把证书和密钥的路径都换为刚才生成的,重启服务
在这里插入图片描述
现在网页测试,虽然还显示不安全的(因为没有经过官方认证,现在无法解决),但是最起码看着有相关信息了,更正规了
在这里插入图片描述
做到现在这步够吗?还不够,思考我们访问百度时,是输入的www.baidu.com然而直接跳转了https://www.baidu.com,而我们现在必须访问https://172.25.254.52/才可以加密访问,继续改进。
首先建立测试目录和文件
在这里插入图片描述

修改/etc/httpd/conf.d/vhost.conf子配置文件,写了两块内容,第一块是针对加密访问的,端口为443,设置域名,共享文件来源,指定加密密钥和证书的来源。第二块是说使用普通的http80端口时,开启重写功能,重写规则是把地址栏中请求主机输入的所有内容转换为https://地址栏中的所有内容。配置完成后重启服务(这里$1表示RewriteRule后面跟的第一串字符的值)
在这里插入图片描述
记得要在地址解析中添加login.westos.org,实验测试效果如下,成功了,地址栏输入login.westos.org自动重写为https://login.westos.org/
在这里插入图片描述

2、squid+Apache正向代理(客户做的)

比如生活中,我们无法访问某个外国网站,但是有一个中间商可以访问外国服务器,那么我们就可以通过中间商访问外国服务器。当我们需要访问时,中间商就把我们想看的外国网站的内容缓存到自己的主机,我们访问中间商就可以看到了。示意图如下。正向代理是客户做的,目的是访问到原本无法访问的服务器。
在这里插入图片描述
实验使用虚拟机a代表自己,无法联网到百度。新开一个虚拟机b代表中间商可以联网到百度。测试首先真机要开火墙,设定地址伪装功能,真机变为路由器,然后虚拟机b打开,需要配置网卡文件,最基本的五条再加上网关(设定为真机)和DNS1(电信),重启网络,虚拟机b的ip为172.25.254.99,现在测试虚拟机b可以ping通172.25.254.77(真机的ip),也可以ping通www.baidu.com
在这里插入图片描述

虚拟机b查看/etc/yum.repos.d/软件仓库是否存在,如果存在,dnf安装squid代理软件,配置/etc/squid/squid.conf文件,如下图,允许其他人访问,开启缓存目录。然后重启squid服务,设定火墙要允许squid,现在代理服务器就配置好了。
在这里插入图片描述
虚拟机a不能ping通www.baidu.com,安装火狐浏览器,在浏览器中设定从代理b这拿数据,设置端口号3128
在这里插入图片描述
现在虚拟机a就可以上网百度www.baidu.com了,如下图,但是仍然不能ping通www.baidu.com
在这里插入图片描述

3、squid+Apache反向代理(企业做的)

假如我是西安人,百度的服务器在北京,在西安有一台代理服务器(没有真正的资源)。我想上网时,如果直接去找北京百度,会很慢,因为经过很多的路由器地址解析,并且会给北京服务器很大的压力。如果先找最近的西安的代理服务器,代理找北京要资源,缓存在自己的这里,这样很快,因为代理服务器和北京服务器有专用网络。示意图如下。反向代理是企业做的,目的是使客户访问企业资源时更快速。
在这里插入图片描述
实验模拟,现在虚拟机b(99)是代理(代表西安),虚拟机a(52)是资源的真正来源(代表北京),真机代表我,想访问百度的资源。
首先虚拟机b设定squid的配置文件/etc/squid/squid.conf,要添加两句,http_port 80 vhost vport 表示外部人员访问我b时,可以通过http的80端口(我b现在没有http服务),但是可以支持虚拟域名,支持虚拟端口;cache_peer 172.25.254.100 parent 80 0 proxy-only 表示外部人员访问我b时,我b没有数据,那我b就去52这台主机的80端口找资源,不用备用端口,现在只是代理。然后虚拟机b重启squid代理服务。注意虚拟机b需要防火墙允许htppd
在这里插入图片描述

虚拟机a(52)现在是资源的真正来源,他要有httpd服务,当然也需要防火墙允许htppd。现在真机打开firefox,输入172.25.254.99显示的资源其实是虚拟机(52)的。
在这里插入图片描述

思路是真机去访问99(前提99必须能被访问),但是99没资源,99需要去52找资源(前提是52必须能被访问),99把52的资源缓存在自己这里。看着是真机访问99,实质是通过99访问了52。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值