文章目录
设置网关
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正向代理
Squid:
缓存internet数据的软件,它接收用户的访问申请,并自动处理所下载的数据。相当于第三方,把该数据传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid把保存的备份传给用户,速度快。
实验素材:
一台主机有Apache但172.25.254.100不能上网
一台双网卡主机172.25.254.10和192.168.0.100可以上网。
实验效果
让单网卡主机不能上网但浏览器可以访问互联网页
在双网卡主机:
yum install squid -y
在单网卡主机中测试:
测试结果:单网卡主机不能上网但浏览器可以访问互联网页
10.2 suqid反向代理(cdn加速)
深圳:172.25.254.100Apache,单网卡 陕西:192.168.0.100squid,没有数据复制缓存。双网卡
深圳:
陕西:
注:vhost支持虚拟域名 vport支持虚拟端口。
测试:
在192.168.0.100看到的是172.25.254.100的数据。即访问陕西的看到深圳的
若不会可以看/usr/share/doc/squid。