使用Apache配置需要用户名和密码认证才能访问的网站 您所在的位置:网站首页 打开网页设置密码 使用Apache配置需要用户名和密码认证才能访问的网站

使用Apache配置需要用户名和密码认证才能访问的网站

2024-03-03 19:35| 来源: 网络整理| 查看: 265

Apache是目前流行的Web服务器,可运行在Linux、Unix、Windows等操作系统下,它可以很好地解决“用户名+密码”的认证问题。Apache用户认证所需要的用户名和密码有两种不同的存贮方式:一种是文本文件;另一种是Oracle、MySQL等数据库。下面以Linux的Apache为例,介绍如何实现用户认证功能。

1.实验环境centos7.4配置好yum源:

yum -y install httpd  #利用yum一键安装httpd

修改Apache的配置文件/etc/httpd/conf/httpd.conf,对需要认证的资源所在的目录进行配置。具体配置如下:

vim /etc/httpd/conf/httpd.conf

  <Directory "/var/www/html">  Options Indexes FollowSymLinks  Allowoverride authconfig  Order allow,deny  Allow from all  </Directory>其中,Allowoverride authconfig一行表示允许对/var/www/html目录下的内容进行用户认证

2.在限制访问目录/var/www/html下创建文件.htaccess,其内容如下:

  vim /var/www/html/.htaccess   内容如下:

  AuthName "提示信息"  AuthType basic  AuthUserFile  /var/www/html/members.txt

  require valid-user

  

  说明:.htaccess文件中常用的配置选项有以下几个:  1) AuthName:定义提示信息,用户访问时提示信息会出现在认证的对话框中  2) AuthType:定义认证类型,在HTTP1.0中,只有一种认证类型:basic。在HTTP1.1中有几种认证类型,如:MD5  3) AuthUserFile:定义包含用户名和密码的文本文件,每行一对  4) AuthGroupFile:定义包含用户组和组成员的文本文件。组成员之间用空格分开,如:group1:user1 user2  5) require命令:定义哪些用户或组才能被授权访问。如:  require user user1 user2 (只有用户user1和user2可以访问)  requires groups group1 (只有group1中的成员可以访问)  require valid-user (在AuthUserFile指定的文件中的所有用户都可以访问) 3.利用Apache附带的程序htpasswd,生成包含用户名和密码的文本文件:/var/www/html/members.txt

  htpasswd -bc /var/www/html/members.txt damao 123456  #第一次添加用户时member.txt文件不存在,需要用-c选项创建文件

  htpasswd -b /var/www/html/members.txt wyy abcdef

  

  重启服务进行访问测试:

  

  这种方法对用户的认证比较省事,维护工作也简单。但是在用户数量有数万人,甚至数十万人时,会在查找用户上花掉一定时间,从而降低服务器的效率,这种情况应采用数据库方式进行用户验证。

 


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有