首页 > 技术文章 > Apache配置 2.用户认证

lsy579 2021-03-08 15:14 原文

1.用户认证用来对某些目录中的网页进行访问控制,当用户访问这些页面的时候需要输入用户名和密码进行认证。

2. 配置:

# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

<VirtualHost *:80>

    ServerAdmin webmaster@dummy-host.example.com

    DocumentRoot "/usr/local/apache2.4/docs/abc.com"

    ServerName abc.com

    ServerAlias www.abc.com aaa.com

    <Directory /usr/local/apache2.4/docs/abc.com>

        AllowOverride AuthConfig

        AuthName "abc.com user auth"

        AuthType Basic

        AuthUserFile /usr/local/apache2.4/docs/.htpasswd

        require valid-user

    </Directory>

    ErrorLog "logs/abc.com-error_log"

    CustomLog "logs/abc.com-access_log" common

</VirtualHost>

 

其中

<Directory >

// 指定认证的目录

AllowOverride AuthConfig

// 这个相当于打开认证的开关

AuthName "testdomain.com user auth"

//自定义认证的名字,作用不大

AuthType Basic

//认证的类型,一般为Basic

AuthUserFile /data/.htpasswd

//指定密码文件所在位置

require valid-user

// 指定需要认证的用户为全部可用用户

 

 

# /usr/local/apache2.4/bin/apachectl -t              

Syntax OK

# /usr/local/apache2.4/bin/apachectl graceful

# /usr/local/apache2.4/bin/htpasswd -cm /usr/local/apache2.4/docs/.htpasswd lsy

//htpasswd为创建用户的工具,-c为create

//-m为指定密码加密的方式为MD5

.htpasswd为密码文件

lsy为创建的用户

//第二次不用加,否则密码文件会重置

# curl -xlocalhost:80 -u ytl:000000 abc.com -I

 

 

(3)配置验证

配置完可在Windows上访问地址www.abc.com,文件在C:\Windows\System32\drivers\etc\hosts。打开文件在最后一行输入:

#你的Linux中的IP  www.abc.com     注意: 该文件要移动到桌面上进行修改才可以

接下来,关闭防火墙,设置selinux为Permissive(宽容模式,不会实际限制 domain/type 的存取)

# systemctl stop firewalld

# setenforce 0

然后,去浏览器访问www.abc.com会有弹窗出现。

(4)验证成功

 

推荐阅读