http进阶练习

Posted lyf5212012

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http进阶练习相关的知识,希望对你有一定的参考价值。

centos-7的虚拟机快照至原始节点

1:安装httpd程序,设置中心主机的网页根路径为/html,并写入索引页index.html,内容自己写,并引用gou.jpg图片

操作如下

1.下载http程序

http进阶练习_虚拟主机

2.编辑主配置文件(/etc/httpd/conf/httpd.conf,更改网页根路径

http进阶练习_配置文件_02

http进阶练习_文本文件_03

http进阶练习_xml_04

http进阶练习_配置文件_05

3.创建索引页 index.html,并写入图片

http进阶练习_虚拟主机_06

http进阶练习_虚拟主机_07

        4.在浏览器中测试

http进阶练习_配置文件_08

2:在/html中定义一个目录simi,要求,只有用户ujiuye123、密码123123才能访问,其他人不能访问
思路:创建账号和密码,在写入容器即可​

(1)创建账户和密码(注意可以自定),利用命令: htpasswd -c -m /路径/目录 账号名 创建,其中 -c为自动创建账号密码文件,添加第一个用户使用,-m为使用md5加密算法加密密码

http进阶练习_配置文件_09

(2)写入容器,在主配置文件/etc/httpd/conf/httpd.conf

http进阶练习_配置文件_10

http进阶练习_html_11

(3)检查语法并重启服务

http进阶练习_虚拟主机_12

http进阶练习_配置文件_13

(4)测试

simi目录中移入一个图片

http进阶练习_配置文件_14

http进阶练习_配置文件_15

http进阶练习_html_16

3:在/html中定义一个目录text,在里面定义三个网页文件分别为a.html,b.gif,c.png,要求除了本机之外,任何主机都可以访问a.html和b.gif,要求只有c.png可以被本机访问,其他人都不能访问。

a.操作前的准备

①下载本机访问web的测试软件(elinks

http进阶练习_文本文件_17

②创建目录、网页、拖入图片并改名

http进阶练习_虚拟主机_18

b.写入访问权限,在主配置文件的容器中写入/etc/httpd/conf/httpd.conf

http进阶练习_配置文件_19

http进阶练习_xml_20

c.检查语法并重启服务

http进阶练习_html_21

http进阶练习_文本文件_22

d.测试

a.html测试

http进阶练习_xml_23

http进阶练习_文本文件_24

http进阶练习_html_25

b.gif测试

http进阶练习_xml_26

http进阶练习_配置文件_27

http进阶练习_配置文件_28

c.png测试

http进阶练习_虚拟主机_29

http进阶练习_文本文件_30

http进阶练习_配置文件_31

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

(1)创建目录和链接

http进阶练习_虚拟主机_32

(2)配置主配置,在容器中将符号链接去掉

http进阶练习_xml_33

http进阶练习_xml_34

http进阶练习_xml_35

http进阶练习_html_36

(3)测试

http进阶练习_文本文件_37

http进阶练习_xml_38

5:创建基于hostname的虚拟主机,
域名分别为www.ujiuye123.comops.ujiuye123.comguanggao.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)创建自定义辅助配置文件,用于编写虚拟主机

http进阶练习_xml_39

http进阶练习_文本文件_40

(2)编辑自定义辅助配置文件

http进阶练习_配置文件_41

</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>

                                                 

http进阶练习_html_42

http进阶练习_虚拟主机_43

内网windows机测试

http进阶练习_文本文件_44

http进阶练习_xml_45

http进阶练习_配置文件_46

http进阶练习_虚拟主机_47

http进阶练习_配置文件_48

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进阶小练习

JavaScript进阶练习

C语言进阶学习笔记二指针的进阶(练习篇)

《Java练习题》进阶练习题

mysql进阶练习

《Java练习题》进阶练习题