web服务器学习2---httpd-2.4.29虚拟目录及访问控制

时间:2023-12-12 17:35:26

一 创建虚拟目录

环境准备:

系统:CentOS 7.4

软件:httpd-2.4.29

1.编辑主配置文件,添加命令运行子配置文件

vi /usr/local/httpd/conf/httpd.conf

Include conf/conf.d/*.conf

2.创建虚拟目录配置文件

vi /usr/local/httpd/conf/conf.d/vdir.conf

Alias /doc/ "/usr/share/doc/"                                               //设置客户访问的目录/doc/

<Directory "/usr/share/doc">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Require all granted                                                           //httpd新版本需求
</Directory>

3.重启httpd服务

systemctl restart htttpd

web服务器学习2---httpd-2.4.29虚拟目录及访问控制

二 设置访问控制

1.客户机地址限制

  • allow,deny: 先允许,后拒绝。默认拒绝所有客户机地址;类似白名单
  • deny,allow: 先拒绝,再允许。默认允许所有;类似黑名单

2.用户授权限制

(1).创建用户认证数据文件

htpasswd -c /usr/local/httpd/user test            //-c用来创建用户数据文件,

htpasswd  /usr/local/httpd/user jack             //当数据文件存在后,就不需要再次创建

cat  /usr/local/httpd/user                               //用户名为明文,密码加密

(2). 添加用户授权配置

新建一个子配置文件,主配置文件要添加Include语句

vi valid-user.conf

Alias /share/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
AuthName "Wellcom!!"                             //定义保护的领域名称
AuthType Basic                                        //设置认证的类型,basic表示基本认证
AuthUserFile /usr/local/httpd/user           //只有认证文件中的用户才能访问
require valid-user                                    //只有认证文件中的合法用户才能访问
#Require all granted
</Directory>

systemctl restart httpd

实验截图:

访问 http://192.168.80.180/share/

web服务器学习2---httpd-2.4.29虚拟目录及访问控制

输入用户名和密码

web服务器学习2---httpd-2.4.29虚拟目录及访问控制