http进阶练习
Posted lyf5212012
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http进阶练习相关的知识,希望对你有一定的参考价值。
将centos-7的虚拟机快照至原始节点
1:安装httpd程序,设置中心主机的网页根路径为/html,并写入索引页index.html,内容自己写,并引用gou.jpg图片
操作如下:
1.下载http程序
2.编辑主配置文件(/etc/httpd/conf/httpd.conf),更改网页根路径
3.创建索引页 index.html,并写入图片
4.在浏览器中测试
2:在/html中定义一个目录simi,要求,只有用户ujiuye123、密码123123才能访问,其他人不能访问
思路:创建账号和密码,在写入容器即可
(1)创建账户和密码(注意可以自定),利用命令: htpasswd -c -m /路径/目录 账号名 创建,其中 -c为自动创建账号密码文件,添加第一个用户使用,-m为使用md5加密算法加密密码
(2)写入容器,在主配置文件/etc/httpd/conf/httpd.conf
(3)检查语法并重启服务
(4)测试
在simi目录中移入一个图片
3:在/html中定义一个目录text,在里面定义三个网页文件分别为a.html,b.gif,c.png,要求除了本机之外,任何主机都可以访问a.html和b.gif,要求只有c.png可以被本机访问,其他人都不能访问。
a.操作前的准备
①下载本机访问web的测试软件(elinks)
②创建目录、网页、拖入图片并改名
b.写入访问权限,在主配置文件的容器中写入/etc/httpd/conf/httpd.conf
c.检查语法并重启服务
d.测试
①a.html测试
②b.gif测试
③c.png测试
4:在/html中创建public目录,要求访问http://xxx.xxx.xxx.xxx/public目录时不能访问到此URL下的符号链接文件,其他文件任何人都可以访问。
(1)创建目录和链接
(2)配置主配置,在容器中将符号链接去掉
(3)测试
5:创建基于hostname的虚拟主机,
域名分别为www.ujiuye123.com,ops.ujiuye123.com,guanggao.ujiuye123.com,
guanggao.ujiuye123.com别名定义为gg.ujiuye123.com,监听在8080端口。
网页根路径分别为/www/html /ops/html /guanggao/html
将www.ujiuye123.com的错误日志和访问日志,定义在默认路径,
ops.ujiuye123.com日志定义在/ops中,guanggao.ujiuye123.com日志定义在/guanggao中。
(1)创建自定义辅助配置文件,用于编写虚拟主机
(2)编辑自定义辅助配置文件
</Directory>
CustomLog "logs/www_access_log" combined
ErrorLog "logs/www_error_log"
</VirtualHost>
<VirtualHost *:80>
ServerName ops.ujiuye123.com
DocumentRoot "/ops/html"
<Directory> "/ops/html">
Options Indexes FollowSymLinks
allowoverride None
require all granted
</Directory>
ErrorLog "/ops/logs/ops_error_log"
CustomLog "/ops/logs/ops_access_log" combined
</VirtualHost>
<VirtualHost *:8080>
ServerName guanggao.ujiuye123.com
ServerAlias gg.ujiuye123.com
DocumentRoot "/guanggao/html"
<Directory> "/guanggao/html">
Options Indexes FollowSymLinks
allowoverride None
require all granted
</Directory>
ErrorLog "/guanggao/logs/guanggao_error_log"
CustomLog "/guanggao/logs/guanggao_access_log" combined
</VirtualHost>
内网windows机测试
6:shell编程
搜索当前文件系统/etc中大于100K的文本文件,将搜到的第一文本文件内容复制到ops.ujiuye123.com虚拟主机的文档根路径中的index.html,对其进行压缩优化,然后打开页面调试功能或抓包工具进行验证压缩结果。
#!/bin/bash
# 这是一个将/etc/下大于100K的第一个文本文件内容复制到index.html并进行压缩的测试脚本
#
for i in `find /etc/ -size +100k -a -type f`;do
if file $i | grep -q -o "text";then
cat $i >> /ops/html/index.html
break
fi
done
# 这是实现压缩的步骤对应的函数
yasuo(){
rm -rf /etc/httpd/conf.d/gzip.conf
cat >> /etc/httpd/conf.d/gzip.conf <<EOF
SetOutputFilter DEFLATE
DeflateCompressionLevel 6
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/css
EOF
if httpd -t &> /dev/null;then
systemctl reload httpd
else
if ! httpd -M | grep -q "deflate";then
echo "压缩模块未装载,现在开始装载压缩模块"
sed -i 30s/#LoadModule/LoadModule/g /etc/httpd/conf.modules.d/00-base.conf
systemctl reload httpd
fi
echo "配置文件有误,请检查"
exit 1
fi
}
if yasuo &> /dev/null;then
echo "恭喜你,压缩设置已成功!"
exit 0
else
html和css进阶小练习