http进阶练习

亦余心之所善兮,虽九死其犹未悔。这篇文章主要讲述http进阶练习相关的知识,希望能为你提供帮助。
将centos-7的虚拟机快照至原始节点
1:安装httpd程序,设置中心主机的网页根路径为/html,并写入索引页index.html,内容自己写,并引用gou.jpg图片操作如下:
http进阶练习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

【http进阶练习】
c.检查语法并重启服务


d.测试
①a.html测试



②b.gif测试



③c.png测试



4:在/html中创建public目录,要求访问http://xxx.xxx.xxx.xxx/public目录时不能访问到此URL下的符号链接文件,其他文件任何人都可以访问。(1)创建目录和链接

(2)配置主配置,在容器中将符号链接去掉http进阶练习




(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

    推荐阅读