文章目录
设置网关
1 Apache的作用
在web被访问时通常使用 http:// 的方式 http:// :超文本传输协议,是互联网上应用最为广泛的一种网络协议
Apache是使用最广泛的Web服务器软件。Apache是由Apache Software Foundation开发和维护的,它是一个免费提供的开源软件,它占全球所有网络服务器的67%
http:// 超文本传输协议提供软件:
Apache(百度)、 nginx(QQ)、 stgw(腾讯) 、jfe(京东)、 Tengine(淘宝)
2 安装Apache
yum install httpd.x86_64 -y
3.Apache的启用
systemctl enable --now httpd
开启服务并设定服务位开机启动
firewall-cmd --list-all 查看火墙信息
firewall-cmd --permanent --add-service=http 在火墙中永久开启http访问
firewall-cmd --permanent --add-service=https 在火墙中永久开启https访问
firewall-cmd --reload 刷新火墙使设定生效
4 Apache的基本信息
服务名称: httpd
配置文件:
/etc/httpd/conf/httpd.conf (主配置文件)
/etc/httpd/conf.d/*.conf (子配置文件)
默认发布目录: /var/www/html
默认发布文件: index.html
默认端口:
80 (http)
443 (https)
用户: apache
日志: /etc/httpd/logs
5 Apache的基本配置
5.1.Apache端口修改
5.2.默认发布文件
修改端口为默认的,然后修改发布目录文件
:
测试:
修改默认发布文件
:
测试:
5.3 修改默认发布目录
6.Apache的访问控制
实验素材
还原默认发布目录
mkdir /var/www/html/westos
vim /var/www/html/westos/index.html
测试:
两台都可以访问
6.1 IP黑名单
测试:
6.2 IP白名单
只有10可以访问:
注:后读会把前面重复的覆盖
6.3 基于用户认证
vim /etc/httpd/conf/httpd.conf
生成认证文件
htpasswd -cm /etc/httpd/htpasswdfile admin
若文件以存在就不能加c
只用:
htpasswd -m /etc/httpd/htpasswdfile admin
admin和htpasswdfile可以任意只是名字而已
测试:
ctrl shift + delete清空浏览器缓存
指定用户可访问:
7.Apache的虚拟主机
设定客户端解析
(浏览器所在的主机中)
vim /etc/hosts
注
CustomLog (日志途径)后的logs/并不是绝对路径,而是相对路径,本来是/etc/httpd/logs
systemctl restart httpd
测试:
8 Apache的语言支持
8.1 html默认支持
8.2 php
vim /var/www/html/index.php
systemctl restart httpd
测试:
8.3 perl
若不会,看安装手册
:
网页看不到结果,为了让网页看到结果:
systemctl restart httpd
测试:
9.Apache的加密访问
9.1 http 超文本传输协议
使用tcp端口默认使用80,其明文传输,数据可以通过抓取工具包来捕获到,因此在interner上,有些比较重要的站点http服务器需要使用PKI(公钥基础结构)技术即https来对数据加密。
9.2 https 安全的超文本传输协议
使用tcp 端口是443,他的数据会用PKI中的公钥进行加密,这样抓取工具捕获到的数据包是无法查看的,安全性随之提高,要解密数据的话要用的到PKI中的私钥,所以一些安全性比较高的网站如:网上银行,电子商务网站都需要用https访问,但是速度慢。
9.3 制作加密证书
yum install mod_ssl.x86_64 -y
可以在百度上自己下载证书,但不正规。
9.4 下载加密证书(rhel8暂不做)
yum install crypto-utils.x86_64 -y
生成证书命令:
genkey www.wests.org
systemctl restart httpd
测试:
9.5 利用网页重写规则优化
解析:
测试:
上面需要手动加密才可转换为加密
自动加密
:
80端口做网页重写
:
^(/.*)$ : 客户地址栏中输入的地址
%{HTTP_HOST} : 客户主机
$1 : RewriteRule后面所介入的第一串字符的值
测试:
10 Squid+Apache
10.1 squid正向代理
思考:
西安的QQ用户登陆访问腾讯服务器。西安用户的客户端到达腾讯深圳服务器快还是西安客户端到达西安的腾讯服务器快?
如今光纤宽带传输,地理的距离微乎其微,但是西安客户端到深圳服务器要比到西安服务器,设置的网关多,经过的路由越多,速度越慢。
腾讯西安服务器和深圳服务器之间是有专线速度比较快 西安客户端---->西安服务器---->深圳服务器 squid
作用:把客户要的数据直接缓存到西安的服务器。squid原来是用来翻墙的。
定义:正向代理,意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。
Squid:
缓存internet数据的软件,它接收用户的访问申请,并自动处理所下载的数据。相当于第三方,把该数据传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid把保存的备份传给用户,速度快。
通俗的讲:
中国的客户端主机想要访问国外的某一台服务器主机,由于中国政府不允许存在这样的网络环境使中国主机直接访问国外服务器
但是香港的主机可以直接访问国外的主机,香港的主机其实也是一个客户端主机 现在中国的客户端主机可以通过香港这个客户端主机去间接访问国外的服务器
中国的主机去给香港的主机说自己想要什么,然后香港的主机去问国外的服务器要东西 香港的主机拿到东西之后,先给自己缓存一份,然后去给中国的主机
其实我和香港的都属于客户端,国外的属于被访问的 香港这台主机相当于代购,叫做squid代理服务器 我想访问国外的主机,不可以
但是香港的主机可以访问国外的主机 我去问香港的主机,香港的主机去问国外的
实验素材:
一台主机有Apache但172.25.254.100不能上网
一台双网卡主机172.25.254.10和192.168.0.100可以上网。
实验效果
让单网卡主机不能上网但浏览器可以访问互联网页
在双网卡主机:
yum install squid -y
> 在单网卡主机中测试
:
测试结果:
单网卡主机不能上网但浏览器可以访问互联网页
10.2 squid反向代理(cdn加速)
CDN的全称是Content Delivery
Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输得更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。
深圳:172.25.254.100Apache,单网卡。 陕西:192.168.0.100squid,没有数据复制缓存,双网卡。
深圳:
陕西:
注:
vhost ##支持域名和主机名来代理节点
vport ##支持ip和端口来代理节点
parent ##表示172.25.254.134是它的父级目录
80 ##表示访问父级目录的80端口
0 ##表示没有备用机
proxy-only ##表示只做代理
测试:
在192.168.0.100看到的是172.25.254.100的数据。即访问陕西的看到深圳的
若不会可以看/usr/share/doc/squid
。