您的位置:首页 > 运维架构 > Apache

Apache设置页面认证

2018-09-17 11:29 483 查看


1.本试验使用的apache版本是2.4.24

场景描述:网站后台管理页面比较重要,不应该任何人都让访问,所以对后台页面做认证就显得非常有必要。


 

思路:使用.htpasswd工具生成加密文件>在apache里面进行配置

 

1:使用htpasswd工具生成加密文件

     htpasswd说明:htpasswd是apache自带的用户和密码加密文件生成工具,如果没有该工具也可百度搜索在线生成htpasswd文件的网站。如果apache是通过RPM的方式安装的话,该命令存放在/usr/bin/目录下,如果apache是源码方式安装的话,该命令存放在apache安装目录的bin目录下。

 

     ①使用htpasswd工具生成一个位于/usr/local/apache/conf目录下名为.htpasswd的文件,该文件中包含用户名为renzheng,密码为renzheng123的用户。

/usr/local/apache/bin/htpasswd -cbm /usr/local/apache/conf/.htpasswd renzheng renzheng123
htpasswd命令选项介绍:

    -c 创建一个加密文件

  -n 不更新加密文件,只将apache htpasswd命令加密后的用户名密码显示在屏幕上

  -m 默认apache htpassswd命令采用MD5算法对密码进行加密

  -d apache htpassswd命令采用CRYPT算法对密码进行加密

  -p apache htpassswd命令不对密码进行进行加密,即明文密码

  -s apache htpassswd命令采用SHA算法对密码进行加密

  -b 在apache htpassswd命令行中一并输入用户名和密码而不是根据提示输入密码

  -D 删除指定的用户

     ②查看.htpasswd文件是否生成并包含用户名为renzheng且密码经过加密的内容。

cat /usr/local/apache/conf/.htpaawd

2.在Apache中进行配置

    ①:编辑虚拟主机配置文件

vim /usr/local/apache/conf/extra/httpd-vhosts.conf

    ②:在该文件中我们在<VirtualHost *:80></VirtualHost>标签中插入如下内容

<locationmatch "/renzheng.php">AuthType Basic
AuthName "Please Insed Password"AuthUserFile "/usr/local/apache/conf/.htpasswd"Require valid-user</locationmatch>

     说明:Require valid-user这个选项是所有.htpasswd文件中的用户都能够用来进行认证,如果不想所有用户指向指定个别用户,可以用命令 Require user 用户1 用户2 用户3 

 

如下是我自己的配置文件内容,可做参考:


#针对页面做认证   <locationmatch "/renzheng.php">
    AuthType Basic
    AuthName "Please Input Your Password"
    AuthUserFile "/usr/local/apache/conf/.htpasswd"
    Require valid-user   </locationmatch>


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Apache 设置 页面认证